为什么Python字典可以具有相同散列的多个键?

为什么Python字典可以具有相同散列的多个键?,第1张

为什么Python字典可以具有相同散列的多个键?

有关Python哈希的工作原理的详细说明,请参见我的答案,为什么早期返回比其他方法慢?

基本上,它使用哈希在表中选择一个插槽。如果插槽中有一个值并且哈希值匹配,它将比较各项以查看它们是否相等。

如果哈希值不匹配或项目不相等,则尝试另一个槽。有一个公式可以选择(我在参考答案中对此进行了描述),并且它会逐渐提取哈希值的未使用部分;但一旦将其全部用尽,它将最终在哈希表中的所有插槽中工作。这样可以保证最终我们找到匹配的项目或空的插槽。当搜索找到一个空插槽时,它会插入值或放弃(取决于我们要添加还是获取值)。

需要注意的重要一点是,没有列表或存储桶:只有具有特定数量的插槽的哈希表,并且每个哈希都用于生成一系列候选插槽。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5668055.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存