show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次学习了字典
- 字典是用来查的
- 根据一个 key
- 可以查到相应的 value
- 字典从汇编的角度如何理解?🤔
- 字典的指令是
BUILD_CONST_KEY_MAP
- 核心是建立映射(map)
- 建立一个元组('o','z')
- 到两个常量
- 1
- 2
- 之间的映射
- 字典还可以怎么建立?
- 查查帮助
- 试试去
- 这次调用了一个KW函数
- 核心也是建立映射(map)
- 建立从
key
到value
的映射
- 建立从
- 去游乐场玩玩
- 根据这个 key
- 就能查到这个 value
- 所用的运算符是索引运算符[]
- 注意中括号在这里
- 有点像列表的索引
- 列表是有序的序列
- 根据序号数字进行索引
- 通过序号数字找到列表项返回
- 超出列表范围报IndexError
- 索引错误
- 根据序号数字进行索引
- 那字典呢?
- 字典是键值对的集合
- 根据唯一的键(key)进行索引
- 通过键来找到相应的字典项
- 不存在的列表项报出KeyError
- 键错误
- 根据唯一的键(key)进行索引
- 根据这个 key
- 就能查到这个 value
- 或者说 map 映射到这个 value 上
- 反过来,根据value
- 就不能查到这个key
- 所以说索引的东西必须是key
- key很重要!!!
- 字典里面有几个记录呢
- 用 len 看看
- 有3条字典项
- 怎么看呢?
- 好像这个可以看到字典的keys
- 这好像一个列表
- 实际上是一个集合
- 转化为集合
- 列出keys
- keys确实可以都列出来
- 通过key就可以找到相应的value吗?
- 尝试
- 确实可以
- 我可以直接找所有value吗?
- 确实可以将value全部遍历出来
- value可以相同吗?
- value 是可以相同的
- key 可以相同吗?
- 如果相同的话
- 后面的会更新前面的
- 所以keys()返回的是一个set类型的对象
- set两个特点
- 无序
- 唯一性
- key就有这个特点
- 字典中key是唯一的
- 字典其实就是key的集合
- 每个key都有自己的value
- 可以一下子把key和value都查出来吗?
- items()返回的是一个集合类的对象
- 集合中的内容是字典项
- 字典项是键值对的元组
- 字典是一个键值对的集合
- 我们去遍历一个真实的字典
- 是items方法
- 这样我们就可以得到python中的各种默认模块
- 可以根据包(module)名来的得到包的相关信息
- 有的是内置的(built-in)
- 也有的是对应一个python文件
- list、tuple、dict 和 int、str 一样
- 都是最最基本的存储变量的数据结构类型
- 是 python 的基础!
- 本质上来说
- keys 是一个键的集合
- values 是一个值的列表
- 这俩列表是有对应关系的
- 可以通过两个有关系的列表构建字典么?
- 字典的本质是键值对的集合
- 都有什么键?
- d.keys()
- 都有什么值?
- d.values()
- 都有什么键?
- 我可以通过字典生成
- 键列表和值列表
- 可以反过来吗
- 可以把有关列的两个列表
- 压制成一个字典
- 确实可以通过两个列表 zip 出一个字典
- 在python的网站也提到过
- 这次去 docs.python.org 去查dict
- 有很多种构造函数
- 以下方法都可以
- 而且是等价的
- 第3行提到的就是zip
- 如何理解 zip 呢?
- zip 把若干个元组的元素
- 按照所在位置
- 组合成新的元组
- 直到其中某个元组遍历完成
- zip 的结果可以理解为元组的序列
- 可以再构成
- 序列类的列表、元组等
- 或者序列类的字典
- 字典 dict 还有其他的构造方法
- 查询手册
- 二维列表
- 可以把列表的列表转化为字典
- 可以把元组的元组转化为字典
- 那么 元组的列表 或者 列表的元组呢?
- 元组的列表和列表的元组 都没有问题
- 只要满足内层序列元素是一对一的键值对映射关系就可以
- 序列类的列表和元组可以转化为字典
- 字典可以转化回来么?
- 只能把 keys 或者 values 分别转化为
dict_keys
、dict_values
类型的变量- 然后再用list、tuple的构造方法转化
- 来回来去我们都可以转化
- 如果值也是唯一的
- 可以键值对调
- 依然是一对一的键值对映射
-
英译汉
- 倒过来
- 就是汉译英
- 倒过来
-
第一本英译汉和第一本汉译英词典
- 其实是一个人制作的
- 马礼逊于1782年生于苏格兰
- 曾在伦敦跟一位广东人学习汉语
- 1807年9月
- 马礼逊初来广州
- 因当时中国禁教
- 为偷偷传教
- 马礼逊希望融入中国百姓的生活
- 学习中国话
- 1808年6月
- 返回澳门
- 马礼逊已经熟练掌握了粤语和官话
- 1808年开始
- 马礼逊以《康熙字典》为据
- 开始编写成了三部分六卷本的《华英字典》
- 1818年
- 在马六甲创办英华书院
- 活字版印刷所
- 翻译出版《新约全书》、《新旧约全书》 -1823年12月
- 梁发被马礼逊按立为第一个基督新教的中国籍牧师
- 他协助马礼逊做印刷工作
- 梁发在1832年用中文写了一本《劝世良言》
- 于乡试时派发给赴考生员
- 后被三次府试失利的洪秀全看到
- 洪秀全通过脑补解决了心理问题
- 成为了耶稣的弟弟
- 《华英字典》
- 有例句及解释
- 其中收录大量成语、俗语
- 全书共6册,共4,595页,分三部分:
- 第一部分:共3册
- 以部首排列的汉英字典
- 收录汉字字头达四万馀
- 每汉字下附多音节词和成语
- 首创自左至右横排
- 方便中英对照
- 是为中国第一部横排字典
- 第二部分:共2册
- 是以字母音序排列的汉英同音字典
- 是为中国最早的同类型同音字典
- 第三部分:只1册
- 是以英文查中文的英汉字典
- 第一部分:共3册
- 华英字典
- 是中国境内最早用西方铅合金活字排印的第一部中文书籍
- 成为经典教科书
- 被多个出版社再版
- 字典里面引用了
- 三字经
- 论语
- 红楼梦
- 我们先去总结一下
- 这次学习了字典
- 字典是用来查的
- 根据一个 key
- 可以查到相应的 value
- 字典项就是 key-value 键值对
- 字典的本质就是键值对的集合
- set of key-value pair
- 字典编出来就是让人来查的
- 具体来说怎么查字典呢?🤔
- 下次再说 👋