Python 字典中的项排序

5 投票
2 回答
587 浏览
提问于 2025-04-16 00:29

我有个简单的疑问……我创建了一个字典:

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

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

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

你看,“b”和“c”的位置互换了。我该怎么做才能让它们的位置保持和创建字典时一样呢?

2 个回答

4

字典(Dictonaries)并不能保证键的顺序。你可以在Python的文档中找到这个信息:http://docs.python.org/tutorial/datastructures.html#dictionaries

你可以随时对字典的键进行排序,或者使用其他更专业的集合类型。

21

字典是一种无序的容器,也就是说里面的元素没有固定的顺序。如果你想保持元素的顺序,可以使用 collections.OrderedDict(适用于Python 2.7及更高版本),或者使用其他本身就能保持顺序的容器类型。

通常来说,如果你需要按顺序取出元素,那么使用字典其实是在解决一个你并不需要的问题(快速访问随机元素),同时又给你带来了一个新的问题。

撰写回答