所以,现在我有一个文本,其中包含交替的州名缩写行及其各自的人口。文件按字母顺序排序,AK 是第一行,依此类推。我试图将所有这些放入字典中,缩写是关键,人口是值。这是我到目前为止的代码。
for line in f1:
key, val = line.split()
population[key] = int(val)
fontsize.append(int(val))
但是,当我尝试打印名为人口的字典时,我得到
{'WA': 5894121, 'DE': 783600, 'DC': 572059, 'WI': 5363675, 'WV': 1808344, 'HI': 1211537, 'FL': 15982378, etc.}
有什么理由不再按字母顺序排列吗?
Python dict
不保留顺序。您希望使用collections
模块中的OrderedDict
。 OrderedDict
按添加顺序保留键顺序。
dict
键的顺序是一致的,但不一定有用。
https://docs.python.org/2/library/collections.html#collections.OrderedDict