Python 字典中的项排序
我有个简单的疑问……我创建了一个字典:
>>> 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及更高版本),或者使用其他本身就能保持顺序的容器类型。
通常来说,如果你需要按顺序取出元素,那么使用字典其实是在解决一个你并不需要的问题(快速访问随机元素),同时又给你带来了一个新的问题。