Python 字典排序

Python 字典排序

《Python3 CookBook》

问题

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

解决方案

为了能控制一个字典中元素的顺序,可以使用 collections 模块中的 OrderedDict 类。可以在迭代的时候保持元素被插入时的顺序

>>> from collections import OrderedDict
>>> d = OrderedDict()
>>> d['foo'] = 1
>>> d['bar'] = 2
>>> d['spam'] = 3
>>> 
>>> for key in d:
...     print(key, d[key])
... 
foo 1
bar 2
spam 3

OrderedDict内部是一个双向链表, 他的大小是普通字典的两倍。所以在数据非常大的时候需要考虑它带来的好处是否大过内存消耗的影响

你可能感兴趣的:(Python 字典排序)