分配python字典文字:是否保证了语义?

Dav*_*ies 7 python dictionary

简单的问题:

Python 2.6.6 (r266:84292, Aug 9 2016, 06:11:56)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> d = {'foo':1,'foo':2}
>>> print d
{'foo': 2}
>>> d = {'foo':2,'foo':1}
>>> print d
{'foo': 1}
Run Code Online (Sandbox Code Playgroud)

因此,如果我将一个带有重复键的字典文字分配给变量,它就是第二个使用的键/对,至少对于这个特定的python版本.

这种行为有保证吗?

Mar*_*ers 8

字典显示文档:

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

(大胆强调我的).

所以,是的,这是有保证的.所有Python实现都必须遵守这一点,偏离上述规范将是一个错误.

较旧的Python版本文档并不总是包含最后一句,但评估的顺序始终是明确的.