有关Python哈希的工作原理的详细说明,请参见我的答案,为什么早期返回比其他方法慢?
基本上,它使用哈希在表中选择一个插槽。如果插槽中有一个值并且哈希值匹配,它将比较各项以查看它们是否相等。
如果哈希值不匹配或项目不相等,则尝试另一个槽。有一个公式可以选择(我在参考答案中对此进行了描述),并且它会逐渐提取哈希值的未使用部分;但一旦将其全部用尽,它将最终在哈希表中的所有插槽中工作。这样可以保证最终我们找到匹配的项目或空的插槽。当搜索找到一个空插槽时,它会插入值或放弃(取决于我们要添加还是获取值)。
需要注意的重要一点是,没有列表或存储桶:只有具有特定数量的插槽的哈希表,并且每个哈希都用于生成一系列候选插槽。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)