2012-11-05 41 views

回答

12

詞典沒有順序,因此沒有開始或結束。顯示順序是任意的。 如果需要順序,你可以用它代替一個dicttuplelist一個S:

In [1]: mylist = [] 

In [2]: mylist.append(('key', 'value')) 

In [3]: mylist.insert(0, ('foo', 'bar')) 

您可以輕鬆地將其轉換成dict後:

In [4]: dict(mylist) 
Out[4]: {'foo': 'bar', 'key': 'value'} 

另外,使用如IamAlexAlright所建議的collections.OrderedDict

+0

thx,那工作 – user1801180

4

否。從集合模塊中檢查OrderedDict。

5

Python中的dict不是「有序的」 - 在Python 2.7+中有collections.OrderedDict,但除此之外 - 沒有... Python中字典的關鍵是高效的鍵 - >查找值...訂單你看到他們在完全是任意的,這取決於散列算法...

+0

它取決於散列算法以及項目插入的順序(發生衝突時)。 – mgilson

+0

@mgilson Yup - 完全不同於C++'map' - 確保按鍵順序 - 等等.. –

+1

我不會了解C++ ...我的第一個編程類是C++,我討厭它* 。我認爲編程是有史以來最愚蠢的事情。具有諷刺意味的是,最終我開始喜歡編程,當時我開始用C編程,然後用Fortran編程(看起來我倒退了很多)。 python,Fortan和C幾乎是我現在編碼的唯一語言 - 必要時在這裏和那裏使用一些shell腳本。 – mgilson

相關問題