Python字典中的项目排序

时间:2010-06-27 16:17:01

标签: python dictionary

我很怀疑......我创建了以下词典:

>>> alpha={'a': 10, 'b': 5, 'c': 11}

但是,当我想看到我得到的字典键和值时:

>>> alpha
{'a': 10, 'c': 11, 'b': 5}

看到“b”和“c”交换了他们的位置。如何使位置与创建字典时的位置相同?

2 个答案:

答案 0 :(得分:21)

字典是无序容器 - 如果要保留顺序,可以使用collections.OrderedDict(Python 2.7或更高版本),或使用自然保留顺序的其他容器类型。

一般来说,如果你有一个关心有序检索的访问模式,那么字典就会解决你没有的问题(快速访问随机元素),同时给你一个新的。

答案 1 :(得分:4)

词典不保证键的排序。您可以在python docs中找到此信息:http://docs.python.org/tutorial/datastructures.html#dictionaries

您可以随时sort字典键或使用其他更专业的集合。