大家好,我是正在实战各种 AI 项目的程序员晚枫。
列表的动态数组、字典的哈希表、集合的实现原理。
📋 PyListObject
1 | // Include/listobject.h |
🗂️ PyDictObject
Python 3.6+ 使用紧凑字典:
- keys 和 values 分离
- keys 数组存储哈希值和索引
- values 数组按插入顺序存储值
字典保持插入顺序的原理:
1 | d = {'a': 1, 'b': 2, 'c': 3} |
🎯 本讲总结
PyListObject:动态数组,over-allocate 扩容。
PyDictObject:紧凑哈希表,保持插入顺序。
📚 推荐教材
《Python 编程从入门到实践(第 3 版)》 | 《流畅的 Python(第 2 版)》 | 《CPython 设计与实现》
🔗 课程导航
← 上一讲:字符串类型实现 | 下一讲:函数与类实现 →
💬 联系我
| 平台 | 账号/链接 |
|---|---|
| 微信 | 扫码加好友 |
| B 站 | Python 自动化办公社区 |
主营业务:AI 编程培训、企业内训、技术咨询