Python 字典 dict 的底层实现?为什么查找快?
社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
CPython 3.6+ 中 dict 是哈希表(indices + entries 分离式存储,3.7+ 保证插入顺序):通过 key 的哈希值定位桶,冲突用开放寻址法(线性探测)。查找/插入平均 O(1)。特点:① key 必须可哈希(不可变类型);② 3.7+ 保持插入顺序(实现细节转语言特性);③ 内存占用较大(稀疏)。优化:① 大量键时预估容量(避免 resize);② 用 collections.OrderedDict 需要排序操作时;③ key 用 int 比 str 快。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。