Python 字典排序
問題
想創(chuàng)建一個(gè)字典龄减,并且在迭代或序列化這個(gè)字典的時(shí)候能夠控制元素的順序项钮。
解決方案
為了能控制一個(gè)字典中元素的順序,可以使用 collections
模塊中的 OrderedDict
類希停∷肝祝可以在迭代的時(shí)候保持元素被插入時(shí)的順序
>>> 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
內(nèi)部是一個(gè)雙向鏈表, 他的大小是普通字典的兩倍宠能。所以在數(shù)據(jù)非常大的時(shí)候需要考慮它帶來的好處是否大過內(nèi)存消耗的影響