参见英文答案 >
Python dictionary: are keys() and values() always the same order?8个
collections.OrderedDict文档将OrderedDict描述为
collections.OrderedDict文档将OrderedDict描述为
a dict that remembers the order that keys were first inserted
所以顺序
for k in dict: ... for k in dict.keys(): ...
是可以预测的.
但是,它没有说出价值观.如果我只需要按如下方式迭代值,结果是否也会遵循逐个插入的顺序?
for v in dict.values(): ...
CPython中的一些快速测试表明情况就是如此,但这可能只是当前实现的coinicidental(我没有测试任何其他).
解决方法
是的,按键()和值()的列表按所有词组中的相应顺序排列,not just in ordered ones.(对于普通词典,顺序是任意的,但对于keys(),values()和items(),它是相同的任意顺序除非在此期间修改了字典.)