【发布时间】:2013-11-16 17:04:23
【问题描述】:
我想知道 python dict (dictionary/hashtable) 是如何实现的。特别是,如果我写类似
my_dict = {"key": {"key: {"key": "value"}}}
python 解释器可能做什么?我想知道它的内部工作原理。
它是否将每个字典视为一个对象(大部分是)?如果是这样,不同字典中相同键的散列是否相同?例如
dict1 = {"key": "value", "k": "v"}
dict2 = {"key": [1, 2.], "k": "value"}
在这 2 个不同的字典中查找键会有多大不同?另外,它如何决定桶的大小?还是类似于列表大小的处理? 希望你能得到我的问题。谢谢!
编辑 - 不,我不是在问哈希表是如何工作的。我知道那部分。
【问题讨论】:
-
您是在问
dict1["key"]调用的哈希函数是否与dict2["key"]调用的哈希函数相同? -
查看这个问题的答案:stackoverflow.com/questions/13514716/…
-
我可以将自己的问题标记为重复吗?因为,我found an answer,但问题不是那么具体。
-
所有主要的python实现都是开源的。随意查看源代码。
-
糟糕,我说的“内部实现”太过分了。我要求提供理论/描述性解释(不是实际代码)(在重复问题中得到它)。
标签: python dictionary hashmap hashtable