2011-07-15 116 views
-1

可能重複:
Ordering in Python (2.4) dictionaryPython字典存儲

,我打算給dict複製到另一個但在一個有序的方式。我遇到了以下問題。

mydict = {'carl':40,   
      'alan':2,   
      'bob':1,   
      'danny':3} 
d1={} 
for key in sorted(mydict): 
    d1[key]=mydict[key] 

當我打印d1它表明:

{'bob': 1, 'danny': 3, 'carl': 40, 'alan': 2} 

爲什麼不排序順序?

回答

5

點滴無順序。 您必須使用OrderedDict

+0

那麼默認情況下需要什麼順序?爲什麼它不像堆疊一樣? –

+0

訂單已定義。 – jpm

+2

順序應該被認爲是隨機的 - 字典就像一個哈希表,爲訪問速度(O(1))進行了優化。 –

0

Python詞典沒有排序。使用collections.OrderedDict