python字典中的重复键

时间:2019-04-26 07:17:18

标签: python

我在Python的官方文档中阅读了

  

最好将字典视为一组键:值对,要求键是唯一的(在一个字典中)。

但是当我运行这段代码时

dic={"a":1,"b":2,"a":3,"a":2,"a":4,"a":5}
print(dic["a"])

我总是得到5作为输出。我想知道为什么。

2 个答案:

答案 0 :(得分:1)

如果您有字典文字(在{}之内)并且键多次出现,则最后一个“覆盖”先前的键。这只是在Python的第一个版本中做出的决定。

打印整个字典以查看:

>>> dic={"a":1,"b":2,"a":3,"a":2,"a":4,"a":5}
>>> dic
{'a': 5, 'b': 2}

请参见the docs,重点是我的:

  

如果给出了逗号分隔的键/基准对序列,则它们是   从左到右求值以定义字典的条目:   每个键对象都用作字典中的键来存储   相应的基准。 这意味着您可以指定相同的键   键/基准列表中的多次,以及最终词典的值   该密钥将是给出的最后一个密钥。

答案 1 :(得分:0)

您刚刚在文档中引用了它-密钥是唯一的,因此“ a”会不断被重新分配-并且仅保留最后一个值-您的情况是5