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

基于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.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值