2017-06-13 104 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而不是标准字典。