python 进阶学习(二) 对字典进行按值排序

本文介绍如何使用Python内置函数sorted()对字典进行排序,并提供两种排序方法:一种是使用zip和sorted函数,另一种是利用sorted函数配合lambda表达式。后者为推荐方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于python36 和windows 10环境


使用场景:
有学生的成绩{‘lilei’: 90, ‘xiaoming’: 89…},按成绩多少进行排序

生成业务数据样例

from random import randint
d = {k: randint(60,100) for k in 'abcxyz'}
print(d)

输出结果:

{'a': 85, 'b': 97, 'c': 65, 'x': 75, 'y': 63, 'z': 82}
方法1:
result = sorted(zip(d.values(), d.keys()),reverse=True)
print(result)

输出结果:

[(97, 'b'), (85, 'a'), (82, 'z'), (75, 'x'), (65, 'c'), (63, 'y')]
方法2(推荐):
result2 = sorted(d.items(), key=lambda key: key[1], reverse=True)

输出结果:

[('b', 97), ('a', 85), ('z', 82), ('x', 75), ('c', 65), ('y', 63)]

###小结:

  1. sorted()是python的内置函数,可迭代对象优先使用此函数进行排序
  2. 可通sorted()的参数key来指定排序的key.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值