2011-11-05 91 views
0

內類型的字典如果我創建類型的字典字典停止Python的字母順序排序類型的字典

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

然後使用 '的' 循環的類型的字典

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

Python的輸出

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

是有沒有辦法讓Python不重新排序二級字典?

回答

7

Python不按字母順序排列字典。實際上,它會任意地命令字典。如果您需要保持原始順序的字典對象,請查看Python 2.7中提供的collections.OrderedDict類。

+0

對於Python 2.6來說有什麼相似之處? – Smudge

+3

@samarudge:http://pypi.python.org/pypi/ordereddict –

1
from collections import OrderedDict 

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