python字典按照值的大小进行排序

应用场景:字典的值必须有序

三种方法:
1:利用collections的子类Counter从大到小排序

c=Counter(d).most_common()  # 返回一个列表,按照dict的value从大到小排序
print(c)  # 返回值是一个list,list里面的元素是tuple的形式

2:sorted函数
可以对列表[]进行从小到大排序,对于字典{}dict,sorted函数默认只按照dict的key进行排序,所以要对dict进行调整变形。

1、利用zip函数把dict转换成一个列表,列表中每个元素都是一个tuple,tuple大小比较原理是,先比较第一个元素,第一个相同在比较第二个。

2、利用sorted函数对转换后的列表进行排序。

z=zip(d.values(),d.keys())
sorted(z)

3:sorted + lambda
sorted函数可以进行指定元素排序。

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

第一个参数是需要排序的列表,第二个参数是指定key(列表中每一项的第几个元素)来进行排序。 示例是按列表的第二个元素进行排序

posted @ 2021-08-01 09:49  小Aer  阅读(83)  评论(0编辑  收藏  举报  来源