Python 字典中键的顺序是任意的:它们不受您添加它们的顺序的约束。
例如:
d = {‘hello’:5, ‘world’:6}
print(d)
输出:
{‘hello’: 5, ‘world’: 6}
d[‘test’] =123
print(d)
d[‘label’] =456
print(d)
输出:
{‘hello’: 5, ‘world’: 6, ‘test’: 123}
{‘hello’: 5, ‘world’: 6, ‘test’: 123, ‘label’: 456}
上面隐含的任意顺序意味着可能会使用上面的代码得到与显示的不同的结果。键出现的顺序是它们将被迭代的顺序,例如 使用 for 循环。collections.OrderedDict 类提供保留键顺序的字典对象。 OrderedDicts 可以是使用一系列有序项(这里是元组键值对列表)创建如下所示:
from collections import OrderedDict
d =OrderedDict([(‘hello’,3), (‘world’,4)])
print(d)
d[‘test’] =123
print(d)
d[‘label’] =456
print(d)
输出:
OrderedDict([(‘hello’, 3), (‘world’, 4)])
OrderedDict([(‘hello’, 3), (‘world’, 4), (‘test’, 123)])
OrderedDict([(‘hello’, 3), (‘world’, 4), (‘test’, 123), (‘label’, 456)])
或者我们可以创建一个空的 OrderedDict 然后添加项目:
O = OrderedDict()
O[‘k1’]=“value1”
O[‘k2’]=“value2”
print(O)
输出:
OrderedDict([(‘k1’, ‘value1’), (‘k2’, ‘value2’)])