键在字典中必须是唯一的,但我输入了以下赋值语句并且它起作用了:
test = {'A1': 12, 'A1': 13, 'A1': 14}
然后测试了一下,发现
test['A1']
14
我的问题是:具有相同键重复多次的字典在调用时会选择该键最后出现的实例吗? (即条目是否相互覆盖)
最佳答案
在Python中,Dictionary的存储是很有趣的。内部字典是使用哈希表实现的。因此,当您初始化字典时,这些是在后台发生的以下步骤:
- 在内部调用 PyDict_New()。
- 分配新对象
- 获取可用插槽的几个步骤
- 在添加新的键/值对时,它首先搜索键的现有散列。如果找到,则使用相同的散列。因此,如果您搜索重复键,它会获取最新的键。
Python 字典实现的很好解释 http://www.laurentluce.com/posts/python-dictionary-implementation/
关于python - 相同的键是否在 Python 的字典中相互覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34503527/