2017-06-13 112 views
-1

我初始化用下面的鍵 - 值對的字典:Python字典初始化

count = {"a":0, "b":0, "c":0, "d":0, "e":0, "f":0, "g":0, "h":0, "i":0, "j":0, "k":0, "l":0, "m":0, "n":0, "o":0, "p":0, "q":0, "r": 0, "s":0, "t": 0, "u":0, "v":0, "w":0, "x":0, "y":0, "z":0} 

然而,當我印刷相同,則對已互換除了第一個和最後一個:

{'a': 0, 'c': 0, 'b': 0, 'e': 0, 'd': 0, 'g': 0, 'f': 0, 'i': 0, 'h': 0, 'k': 0, 'j': 0, 'm': 0, 'l': 0, 'o': 0, 'n': 0, 'q': 0, 'p': 0, 's': 0, 'r': 0, 'u': 0, 't': 0, 'w': 0, 'v': 0, 'y': 0, 'x': 0, 'z': 0} 

這給了我錯誤的答案,我想解決的問題。這是爲什麼發生?

+0

因爲python字典是未排序的。 – trotta

+1

除了Python 3.6開始訂購 – vZ10

+0

@trotta它不再那麼簡單了。 CPython 3.6作爲一個實現細節,現在*不會按照它們最初插入的順序存儲關鍵字(比如'OrderedDict')。 – chepner

回答

0

如果你想保留順序,你應該使用collections.OrderedDitct而不是標準字典。