2013-10-22 16 views
0
>>> dict1 = {'1':'aaa' , '2':'bbb' , '5':'fff' , '10':'zzz'} 
>>> dict1 
{'1': 'aaa', '10': 'zzz', '2': 'bbb', '5': 'fff'} 

>>> dict3 = {'1':'aaa' , '2':'bbb' , '11' : 'hhh' , '5':'fff' , '7' : 'ggg' , '10':'zzz'} 
>>> dict3 
{'11': 'hhh', '10': 'zzz', '1': 'aaa', '2': 'bbb', '5': 'fff', '7': 'ggg'} 

以什麼方式/算法,字典維護鍵/值的排序,默認值是?如何維護python中的字典順序?

+2

它不維護訂單。 –

+0

可能的重複[爲什麼python命令我的字典像這樣?](http://stackoverflow.com/questions/526125/why-is-python-ordering-my-dictionary-like-so) – kjhughes

+0

那麼爲什麼'10' :'zzz'在'2'和'5'之前出現,儘管我在最後一位輸入了鍵/值? –

回答

2

Python字典沒有排序。您可以使用collections.OrderedDict作爲按插入順序排序的類似字典的對象。

當您打印一個dict或遍歷鍵時,只要字典沒有改變,輸出的順序就是穩定的。