1、问题:我们想创建一个字典,同时对字典做迭代或者序列化操作时,也可以该控制其中元素的顺序。
2、解决:要控制字典中的顺序,可以使用collections模块中的OrderedDict类。当对字典做迭代时。它会严格照元素初始添加的顺序进行。
代码:
from collections import OrderedDict
d=OrderedDict()
d['foo']=1
d['bar']=2
d['spam']=3
d['grok']=4
for key in d:
print(key,d[key])
3、在进行JSON编码时精确控制各字段的顺序,那只要首先在OrderedDict中构建数据就可以了
>>> import json
>>> json.dumps(d)
'{"foo": 1, "bar": 2, "spam": 3, "grok": 4}'
>>>