Python字典:是keys()和values()总是一样的顺序?

问题:

看起来像keys()返回的列表和字典的values()方法始终是1对1映射(假设在调用2种方法之间不改变字典)。
例如:

>>> d = {'one':1, 'two': 2, 'three': 3}
>>> k, v = d.keys(), d.values()
>>> for i in range(len(k)):
    print d[k[i]] == v[i]

True
True
True

如果您不调用keys()和调用values()之间的字典,假设上述for循环总是打印True?我找不到任何证明这一点的文件。

回答:

发现这个:

如果items()keys()values()iteritems()iterkeys()itervalues()被调用,而不会对字典进行任何修改,则列表将直接对应。

2.x documentation3.x documentation

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Python dictionary: are keys() and values() always the same order?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

− 5 = 1