是否保证python字典中的keys()和values()的顺序相同?[重复]
问题内容:
这个问题已经在这里有了答案 :
Python字典:keys()和values()总是顺序相同吗? (8个答案)
7年前关闭。
本机内置的python dict是否保证以相同的方式对keys()
和values()
列表进行排序?
d = {'A':1, 'B':2, 'C':3, 'D':4 } # or any other content
otherd = dict(zip(d.keys(), d.values()))
我一直有d == otherd
吗?
不管是对还是错,我对这个问题上的任何参考指针都感兴趣。
PS:我了解上述属性并非对每个行为像字典的对象都是正确的,我只是想知道内置的字典。当我进行测试时,看起来好像是真的,这也就不足为奇了,因为具有相同的顺序keys()
并且values()
可能是最简单的实现。但是我想知道是否明确定义了此行为。
问题答案:
键和值以任意顺序列出,该顺序是非随机的,在Python实现中会有所不同,并且取决于字典的插入和删除历史。如果
items()
,keys()
,values()
,iteritems()
,iterkeys()
,和itervalues()
被称为中间没有修改的字典,列表会直接对应。
从的文档中dict
。