Esc*_*alo 17 python sorting mapping dictionary
Python字典没有特定的顺序存储(映射没有顺序),例如
>>> myDict = {'first':'uno','second':'dos','third':'tres'}
myDict = {'first':'uno','second':'dos','third':'tres'}
>>> myDict
myDict
{'second': 'dos', 'third': 'tres', 'first': 'uno'}
Run Code Online (Sandbox Code Playgroud)
虽然可以从字典中检索已排序的列表或元组,但我想知道是否可以使字典按照它们传递给它的顺序存储项目,在前面的示例中,这将意味着将内部排序作为{'first':'uno','second':'dos','third':'tres'}和没有区别.
我需要这个,因为我正在使用字典存储值,因为我从配置文件中读取它们; 一旦读取和处理(值被更改),它们必须以与读取时相同的顺序写入新配置文件(此顺序不是字母顺序也不是数字顺序).
有什么想法吗?
请注意,我不是在寻找检索订单的次要方法(如列表),而是寻找使字典本身有序的方法(因为它将在即将推出的Python版本中).
YOU*_*YOU 31
尝试python 2.7及以上,可能是3.1,有OrderedDict
http://python.org/download/releases/2.7/
>>> from collections import OrderedDict
>>> d = OrderedDict([('first', 1), ('second', 2),
... ('third', 3)])
>>> d.items()
[('first', 1), ('second', 2), ('third', 3)]
Run Code Online (Sandbox Code Playgroud)