文章预览
(点击 上方蓝字 ,快速关注我们) 来源:伯乐在线 - wklken 如有好文章投稿,请点击 → 这里了解详情 源码位置 Include/dictobject.h | Objects/dictobject.c PyDictObject的存储策略 1. 使用散列表进行存储 2. 使用开放定址法处理冲突 2.1 插入 , 发生冲突 , 通过二次探测算法 , 寻找下一个位置 , 直到找到可用位置 , 放入 ( 形成一条冲突探测链 ) 2.2 查找 , 需要遍历冲突探测链 2.3 删除 , 如果对象在探测链上 , 不能直接删除 , 否则会破坏整个结构 ( 所以不是真的删 ) 关于 hash表的 wiki 基本键值PyDictEntry typedef struct { Py_ssize_t me_hash ; PyObject * me_key ; PyObject * me_value ; } PyDictEntry ; 说明 1. PyDictEntry 用于存储键值对
………………………………