在创建Python dict时,什么决定对象顺序?

时间:2014-08-12 18:43:10

标签: python dictionary

我需要我的代码始终按照实例化的顺序遍历dict项(通过dict.keys())。但是我注意到当你在Python中实例化一个dict时,它不会被命令:

>>> dict = {'a':'a', 'b':'b', 'c':'c'}
>>> dict
{'a': 'a', 'c': 'c', 'b': 'b'}
>>> for x in dict.keys():
...     print x
a
c
b

我如何保证每当我遍历此dict时,它将始终与我创建它的顺序相同?为什么每当我实例化一个新的字典时,Python似乎都在“争夺”这些值?

请注意,我在这里谈到的顺序不一定是字母,数字或任何其他可排序类型。

1 个答案:

答案 0 :(得分:2)

尝试使用collections.OrderedDictDocumentation.