Python词典如何使它们保持有序

时间:2012-06-26 19:59:50

标签: python list dictionary

我认为字典是一个关联数组,所以当我输入

dict1 = {'first' : 1, 'second' : 2}

我希望当我打电话给它时,它会按照它的编写顺序,但它不是。它是第二个'之前'第一个'。看了一下,发现字典是无序的。这是有道理的,但我想知道是否有办法让它们保持与您编写(或附加)的顺序相同?我在这里寻找的只是一个列表(按顺序排列),它允许字符串作为键。

由于

2 个答案:

答案 0 :(得分:10)

from collections import OrderedDict

OrderedDict([("first", 1), ("second", 2)])

适用于Python> = 2.7,IIRC。对于早期版本,互联网上有替代品,但将密钥保持在一个单独的位置可能是最简单的解决方法。

答案 1 :(得分:4)

Python只有一个OrderedDict(在collections模块中)。

2.7版中的新内容