包含重复键的dict文字是否定义明确?

时间:2015-12-31 01:23:29

标签: python dictionary syntax

如果我写 Installing RVM to /usr/local/rvm ,Python是否保证d = {0: 1, 0: 2}的值,还是“未定义的行为”?

(当然,这不是你在编程时曾经写的东西,但这个问题主要是出于好奇。在本地,它似乎总是保存与最后一个键相关的值。发生,即d[0]这里。也许它对于一些奇怪的代码生成情况是有用的信息。)

2 个答案:

答案 0 :(得分:4)

是的,它定义明确 - 最后一个值获胜。 {0: 1, 0: 2}dictionary display

  

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

答案 1 :(得分:0)

a = {0: 1, 0: 2}
a[0]
2

它会在相同或重复的键值

中给出最高索引的值