为了控制一个字典中元素的顺序,可以使用 collections 模块中的 OrderedDict 类。

在迭代操作的时候,它会保持元素被插入时的顺序。

from collections import OrderedDict

d = OrderedDict()
d['foo'] = 1
d['bar'] = 2
d['spam'] = 3
d['grok'] = 4

print(d)

for key in d:
    print(key,d[key])

测试结果:

 

 

 

 

一个OrderedDict的大小是一个普通字典的两倍,大量数据可能会占用很多内存,需衡量利弊。