如果我创建一个dicts的词典
mydict = {
'zstuff':{
'zzz':True,
'aaa':True
},
'astuff':{
'zzz':True,
'aaa':True
}
}
然后使用'for'来循环dicts
for key in mydict:
for tag in mydict[key]:
print "{}:{}".format(key,tag)
Python输出
zstuff:aaa
zstuff:zzz
astuff:aaa
astuff:zzz
有没有办法让Python不重新排序第二级dicts?
答案 0 :(得分:7)
Python不按字母顺序排序字典。事实上,它任意命令字典。如果您需要一个保留原始顺序的字典对象,请查看Python 2.7中提供的collections.OrderedDict
类。
答案 1 :(得分:1)
from collections import OrderedDict
mydict = {'zstuff' : OrderedDict(zzz=True, aaa=True),
'astuff' : OrderedDict(zzz=True, aaa=True)}