Python字典基于Value值排序

将python的字典排序的思路基本上是将字典转化为2列list,第一列是key,第二列是value

然后进行key排序或者是基于value排序。

如下是基于value值排序的code:

import collections
err = {}
err["a"] = 9;
err["b"] = 7;
err["c"] = 11;

err_list = sorted(err.items(), key=lambda d: d[1])

#如下设定了字典中记住顺序,避免list重新排成字典后就变成hash了
dict = collections.OrderedDict()
#将list再转化为字典,由于设定
map(lambda x: dict.setdefault(x[0], x[1]), err_list)
print dict


结果:
OrderedDict([('a', 9), ('c', 11), ('b', 7)])

猜你喜欢

转载自welsh615.iteye.com/blog/2312755
今日推荐