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(列表中每一项的第几个元素)来进行排序。 示例是按列表的第二个元素进行排序