美文网首页
python字典的散列表

python字典的散列表

作者: 一斗 | 来源:发表于2019-03-20 14:54 被阅读0次

    散列表其实是一个稀疏数组(总是有空白元素的数组),通常会把散列表里的单元叫做表元,表元的大小是一致的,可以通过偏移量的方式来访问表元。dict中一组键值对占用一个表元。python会保证有大约三分之一的空间是空白的,超过阈值会把原有散列表复制到更大的空间。

    mydict[key]的查找过程:首先会调用hash(key)计算散列值,取散列值的低几位作为偏移量进行表元查找,如果找到的表元为空,则KeyError;如果不为空,则会找到表元里有一对found_key:found_value,如果found_key=key,则返回found_value,如果不等,说明发生了冲突,这时会在散列值中再取几位,然后用特殊方法处理一下,把得到的数字当作索引来寻找表元,重复上面操作。添加和更新操作类似。


    散列表查找.PNG

    相关文章

      网友评论

          本文标题:python字典的散列表

          本文链接:https://www.haomeiwen.com/subject/wrnzmqtx.html