2013-05-16 68 views
0

我對Python相當陌生。事實上,今天是我在Python中的第一天。我正在閱讀教程並閱讀字典。以隨機順序打印字典內容

但我不知道字典內容的顯示順序是什麼。

下面是我的代碼:

dir = {'Z':1,'Y':3,'X':5,'V':7,'U':9,'T':2,'S':4,'R':6,'Q':8,'P':10}; 
print dir; 

和以下爲輸出:

{ 'Q':8, 'P':10, 'S':4, 'R' :6,'U':9,'T':2,'V':7,'Y':3,'X':5,'Z':1}

有人可以解釋我得到這個輸出,而不是它的原始序列中的列表。

PS:對不起,一跛的問題:(

回答

2

Python Docs(他們會成爲你的朋友,而使用Python)

最好是認爲字典作爲一個無序的關鍵:值 對,與所述的要求,即,鍵是唯一的(一個 字典內)

這意味着它們被存儲在沒有固定的順序,因此打印。沒有固定的順序! 因爲字典很可能使用散列表來實現,所以他們沒有「訂單」。

如果你想要一個有序的字典,collections.OrderedDict()可能會有用。

+0

關鍵是:值對存儲在連續的內存位置上嗎?甚至他們可以無序? – Ayse

+0

我不認爲它們存儲在連續的位置,因爲它們被實現爲散列表。 –

+0

謝謝你的解釋:) – Ayse