OrderedDict
有序字典
from collections import OrderedDict
d = OrderedDict()
d["foo"] = 1
d["bar"] = 2
d["spam"] = 3
d["grok"] = 4
print(d)
# OrderedDict([('foo', 1), ('bar', 2), ('spam', 3), ('grok', 4)])
OrderedDict 内部维护着一个根据键插入顺序排序的双向链表。
每次当一个新的元素插入进来的时候, 它会被放到链表的尾部。
对于一个已经存在的键的重复赋值不会改变键的顺序
d["foo"] = 5
print(d)
# OrderedDict([('foo', 5), ('bar', 2), ('spam', 3), ('grok', 4)])
一个 OrderedDict 的大小是一个普通字典的两倍,
因为它内部维护着另外一个链表。
需要权衡一下是否使用OrderedDict 带来的好处要大过额外内存消耗的影响。