0

简单的问题。

python的默认dict中使用了什么散列算法?

>>> g = { 'a' : 1, 'b' : 2, 'c' : 3 }
>>> g
{'a': 1, 'c': 3, 'b': 2}
>>> g.keys()
['a', 'c', 'b']
>>>

我期待 线性探头(猜不是)['a','b','c']g.keys()双哈希?

4

1 回答 1

3

不能保证 Python 会使用任何特定的方法——不同的实现可以使用任何他们想要的方法。dicts 是无序的,因此它的实现方式并不重要(前提是它履行了某些义务)。

至于CPython是如何做到的......

于 2013-03-28T23:42:52.770 回答