Python中的OrderedDict

字典排序?

你想创建一个字典,并且在迭代或序列化这个字典的时候能够控制元素的顺序

>>> from collections import OrderedDict
>>> d = OrderedDict()
>>> d['foo'] = 1
>>> d['bar'] = 2
>>> d['spam'] = 3
>>> d['grok'] = 4
>>> d
OrderedDict([('foo', 1), ('bar', 2), ('spam', 3), ('grok', 4)])

OrderedDict 内部维护着一个根据键插入顺序排序的双向链表。

每次当一个新的元素插入进来的时候,

它会被放到链表的尾部。对于一个已经存在的键的重复赋值不会改变键的顺序。

需要注意的是,一个 OrderedDict 的大小是一个普通字典的两倍。

原文地址:https://www.cnblogs.com/kwebi/p/python3-cookbook_readthedocs_io.html