停止Python在字典中排序字典的顺序

0 投票
2 回答
1963 浏览
提问于 2025-04-17 05:42

如果我创建一个字典里面还有字典

mydict = {
    'zstuff':{
        'zzz':True,
        'aaa':True
    },
    'astuff':{
        'zzz':True,
        'aaa':True
    }
}

然后用'for'循环来遍历这些字典

for key in mydict:
    for tag in mydict[key]:
        print "{}:{}".format(key,tag)

Python 输出的结果是

zstuff:aaa
zstuff:zzz
astuff:aaa
astuff:zzz

有没有办法让 Python 不重新排列第二层的字典呢?

2 个回答

1
from collections import OrderedDict

mydict = {'zstuff' : OrderedDict(zzz=True, aaa=True),
          'astuff' : OrderedDict(zzz=True, aaa=True)}

当然可以!请把你想要翻译的内容发给我,我会帮你把它变得简单易懂。

7

Python中的字典并不是按照字母顺序排列的。实际上,它的排列是随意的。如果你需要一个能保持原始顺序的字典对象,可以看看Python 2.7中提供的collections.OrderedDict类。

撰写回答