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 的大小是一个普通字典的两倍。

posted @ 2018-06-01 11:07  弱冠  阅读(252)  评论(0编辑  收藏  举报