首页 > 解决方案 > python字典中的重复键

问题描述

我在 Python 的官方文档中读到了这个

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

但是当我运行这段代码时

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

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

标签: python

解决方案


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

打印整个 dict 以查看:

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

请参阅文档,强调我的:

如果给出逗号分隔的键/数据对序列,则从左到右评估它们以定义字典的条目:每个键对象用作字典中的键以存储相应的数据。这意味着您可以 在键/数据列表中多次指定同一个键,并且该键的最终字典值 将是最后一个给定的值。


推荐阅读