在Python的字典中,相同的键是否会相互覆盖?
键在字典中必须是唯一的,但我键入了以下赋值语句,它就起作用了:在Python的字典中,相同的键是否会相互覆盖?,python,dictionary,key,Python,Dictionary,Key,键在字典中必须是唯一的,但我键入了以下赋值语句,它就起作用了: test = {'A1': 12, 'A1': 13, 'A1': 14} 然后测试它,我发现 test['A1'] 14 我的问题是:同一个键重复多次的字典会在调用时选择该键最后出现的实例吗?(即条目是否相互覆盖)在Python中,字典存储非常有趣。内部字典是使用哈希表实现的。因此,初始化词典时,在后台执行以下步骤: 在内部调用PyDict_New() 新对象的分配 获取可用插槽的几个步骤 在添加新的键/值对时,它首先搜索该
test = {'A1': 12, 'A1': 13, 'A1': 14}
然后测试它,我发现
test['A1']
14
我的问题是:同一个键重复多次的字典会在调用时选择该键最后出现的实例吗?(即条目是否相互覆盖)在Python中,字典存储非常有趣。内部字典是使用哈希表实现的。因此,初始化词典时,在后台执行以下步骤:
- 在内部调用PyDict_New()
- 新对象的分配
- 获取可用插槽的几个步骤
- 在添加新的键/值对时,它首先搜索该键的现有哈希。如果找到,则使用相同的哈希。因此,如果搜索重复的密钥,它将获取最新的密钥
Python字典实现的很好的解释是的,Python中的dict和set都不允许重复键。是的,最后添加的键/值就是您看到的