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

77 篇文章 3 订阅

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

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值