在Python的字典中,相同的键是否相互覆盖?

时间:2015-12-29 02:19:04

标签: python dictionary key

键在字典中必须是唯一的,但我输入以下赋值语句并且它有效:

test = {'A1': 12, 'A1': 13, 'A1': 14}

然后测试它,我找到了

test['A1']
14

我的问题是:具有相同密钥重复多次的字典会在调用时选择该密钥的最后一个实例吗? (即条目是否相互覆盖)

1 个答案:

答案 0 :(得分:1)

在Python中,字典存储非常有趣。内部字典使用哈希表实现。因此,当您初始化字典时,这些是在后台执行的以下步骤:

  • 内部PyDict_New()被调用。
  • 新对象的分配
  • 获取可用插槽的几个步骤
  • 在添加新的键/值对时,它首先搜索键的现有哈希值。如果它找到然后使用相同的哈希。因此,如果您搜索重复键,则会获取最新的键。

Python字典实现的很好解释http://www.laurentluce.com/posts/python-dictionary-implementation/