在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都不允许重复键。是的,最后添加的键/值就是您看到的