簡単な質問です。
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()
ダブルハッシュ?
Python が特定のメソッドを使用するという保証はありません。異なる実装では、任意のメソッドを使用できます。dict
s は順序付けされていないため、実装方法は問題ではありません (特定の義務を果たしている場合)。
CPythonがどのようにそれを行うかについて...