一尘不染

Python字典:keys()和values()是否总是相同的顺序?

python

看起来字典的keys()values()方法返回的列表始终是一对一映射(假设在调用这两种方法之间字典没有改变)。

例如:

>>> 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是否错误?我找不到任何证明文件。


阅读 962

收藏
2020-02-18

共1个答案

一尘不染

发现了这一点:

如果items()keys(),values()iteritems(),iterkeys(),和 itervalues()被称为中间没有修改的字典,列表会直接对应。

在2.x文档和3.x文档上。

2020-02-18