15|字典(上):关联式数据结构的基本表示
海纳
你好,我是海纳。
前边两节课我们引入了 Python 语言中最重要的一个数据结构:列表。接下来的两节课,我们将重点介绍字典(dict)的实现,包括字典定义、创建和对元素的增、删、查、改等操作。我们先从字典的定义开始。
字典的定义
字典是一种关联数据结构,很像 C++ 里的 map 或者 Java 里的 HashMap。字典支持键(key)和对应值(value)成对插入、添加、删除等操作。
我们以一个例子来说明字典的具体用法。
上述代码定义了一个字典,这个字典包含了两组键值对。第一组,key 是整数 1,value 是字符串 "hello"。第二组,键是字符串 "world",值是整数 2。然后把字典打印出来(第 2 行),接下来是把整数 1 所对应的值 "hello" 打印出来(第 3 行),最后把字符串 "world" 所对应的值,也就是整数 2 打印出来(第 4 行)。
通过 show_file 工具,我们能观察到 Python 为了定义字典引入了新的字节码。和列表一样,我们也要实现这些专门为字典而创造的字节码。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
1. 字典是一种关联数据结构,支持键值对的插入、添加、删除等操作,类似于C++中的map或Java中的HashMap。 2. Python 3.8中重新实现了字典的keys方法,结合了迭代器和集合、列表的功能,提高了遍历字典的效率。 3. 实现了字典的迭代器功能,包括keys、values和items三种不同类型的迭代器,以及相应的contains方法。 4. 字典视图是一个代理工具,让使用者以不同的方式来访问字典数据,提供了灵活的迭代器和集合、列表之间的切换功能。 5. 字典的功能变化最大的是遍历,Python 3.8引入了视图的概念来实现字典的遍历,这是一个重要的优化手段。 6. 字典的实现包括在虚拟机中实现字典类和字典元素的增删查改功能,以及字典的查询和插入操作。 7. 字典的删除操作,包括使用pop方法和del关键字的实现。 8. 字典的键可以为常量或变量,对应不同的创建字典的字节码指令。 9. 字典的实现还涉及BUILD_CONST_KEY_MAP和BUILD_MAP指令的实现,以及Python 3.8中创建字典的逻辑。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《手写 Python 虚拟机》,新⼈⾸单¥59
《手写 Python 虚拟机》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论