我了解到字典使用哈希来获取它的密钥。 假设我有一个定义为
的字典dict = { 1.1 : 'hello', 2 : 'bye' }
我可以这样打招呼
dict.get(1.1)
我想做的就是得到“你好”'通过键的哈希值,类似
dict.get(hash(1.1))
这样的东西?我怎样才能做到这一点?我想检查是否通过python计算哈希值?如果它实际上是生成的,那么我可以直接转到该地址并获得' hello'的值,对吗?
答案 0 :(得分:0)
当字典存储值时,不保证一对一存储它。这就是为什么访问和存储到字典中是O(n)最坏情况时间复杂度的原因 - 这意味着当存储或从字典中检索时,我们可能会将值指向相同的哈希n次(输入的长度) )。
所以每次检索/存储都需要我们在得到我们需要的东西之前传递每一个其他值(当我们从数组的最后一个位置得到一个项目并且我们开始在第一个位置搜索时)。< / p>
因此,你无法确切地检索出'hello'。还有类似的东西:
dict.get(hash(1.1))
将获得hash 1.1的索引,这与1.1的索引完全不同。