python 字典的底层实现

字典存放键值对(上图)底层实现 bin(hash("hong色")) 任何对象都有哈希值 根据哈希值后三位或后五位 得到二进制的索引 若(字典)稀散数组索引bucket(键值对)为空 就添加 若不为空就往前递进三位 不然就会扩容字典 ,python 会根据散列表的拥挤程度扩容。“扩容”指的是:创造更大的数组,将原有内容拷贝到新数组中。

字典提取键值对(下图),根据要提取的键值计算哈希值,根据哈希值后几位数可以定位数组索引, 进行比对bucket 哈希值若相同再进行比对key的哈希值 ,相同时就进行提取对应的值对象

表格数据使用字典和列表存储

python 字典的底层实现_第1张图片

python 字典的底层实现_第2张图片

 

 

你可能感兴趣的:(python 字典的底层实现)