字典是python开发中很常用的一种数据结构,但dict有个缺陷(其实也不算缺陷),迭代时并不是按照元素添加的顺序进行,可能在某些场景下,不能满足我们的要求。有几种解决方法:
1、使用OrderedDict(要求python2.7或以上)
OrderedDict是dict的子类,它记住了内容添加的顺序。比较时,OrderedDict要内容和顺序完全相同才会视为相等。
一个例子:
>>> import collections
>>> d = {'banana': 3, 'apple':4,'pear': 1, 'orange': 2}
>>> collections.OrderedDict(sorted(d.items(),key=lambda t: t[1]))
OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])