hash()出来的结果是哈希表的索引,如何用这个索引直接取值

2016-07-11 23:54:58 +08:00
 sudo987
>>> d = {'name':'xx'}
>>> hash('name')
-4166578487145698715

那么-4166578487145698715 就是索引,怎么利用这个数取得‘ xx ’呢?
2423 次点击
所在节点    Python
3 条回复
menc
2016-07-12 01:06:53 +08:00
对于一个 hash table , hash 出来的结果不一定是元素存储的索引,因为 hash 算法很可能存在 collision ,所以你的前提“ hash()出来的结果是哈希表的索引”,是错误的
20015jjw
2016-07-12 02:37:06 +08:00
hashtable 的原理建议 lz 看一下
wander2008
2016-07-12 10:25:20 +08:00
hashtable 的索引如果两个 hash 值碰撞了。你怎么办?所以这个结论不太准确。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/291839

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX