让字典保持有序

大家想一个问题,如何同时对字典做迭代或者序列化操作时, 也可以控制其中元素的顺序

  • 要控制字典中元素的顺序,可以使用collections模块中的OrderedDict类,OrderedDict的实例对象,会严格的按照元素的初始添加顺序进行排序

例:
让字典保持有序

  • 例如, 如果想在进行json编码时控制各个字段的顺序, 只要现在OrderedDict中构建数据就可以

让字典保持有序

注意:

1.OrderedDict 的内容维护是一个双向链表,会根据添加元素的顺序来排列键的位置,第一个添加的元素放置在链表的末尾,所以对已经存在的键做重新赋值也不会改变键的顺序

2.ORderedDict的大小是普通字典的两倍多,是因为它额外创建的链表所导致的。因此,构建大量的OrderedDict的数据结构,要具体的做对应的需求分析,