为什么迭代这个词典
d = {'tors':None,
'head':None,
'armr':None,
'arml':None,
'legl':None,
'legr':None}
for k in d.keys():
print k
将以不同的顺序输出密钥:
head
legl
armr
arml
tors
legr
答案 0 :(得分:6)
在python dict
中实现为哈希映射,没有人不能保证密钥顺序。来自文档
CPython实现细节:键和值列在 非随机的任意顺序因Python而异 实现,并取决于字典的插入历史 和删除。
如果您需要继续订购,请改用collections.OrderedDict
。
答案 1 :(得分:1)
这应该做的工作:
import collections
ordered_d = collections.OrderedDict([('banana', 3),('apple',4),('pear', 1),('orange', 2)])
for k in ordered_d.keys():
print k
结果:
banana
apple
pear
orange