Python如何根据字典中的值排序
更新时间:2024年02月10日 09:28:29 作者:AllardZhao
这篇文章主要介绍了Python如何根据字典中的值排序问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
如何根据字典中值的大小,对字典中的项排序
实际案例
某班英语成绩以字典形式存储为:{'LiLei': 79, 'Jim': 88, 'Lucy': 92, ...}
根据成绩高低,计算学生排名。
注:字典的键就是学生名字,字典的值是学生分数。
解决方案
使用内置函数sorted
方法1:利用zip将字典数据转换成元组列表
方法2:传递给sorted函数的key参数
代码演示
# 使用sorted对列表进行排序
print(sorted([9, 1, 2, 8, 5]))
from random import randint
# 创建随机的成绩表,使用字典解析
c = {x: randint(60, 100) for x in 'abcded'}
print(c)
print(sorted(c))
# 方法1:
'''
直接使用sorted对字典排序,并不是按照值进行排序的,而是按照键。
sorted()传入的是可迭代对象,对于字典进行某种转换,让它变成sorted可以排序的结构。
将字典转换成元组列表,如: [(97, 'a'), (69, 'b')],然后直接比较元组第一个值
'''
# 得到字典所有健或所有的值
# print(c.keys())
# print(c.values())
# 使用zip函数,将两个列表拼起来变成一个列表,因为返回的是一个对象所以使用list()函数转换一下
print(list(zip(c.values(), c.keys())))
# 然后对合成的元组列表进行排序
print(sorted(zip(c.values(), c.keys())))
# 方法2:
# 将字典的k:v以元组列表的形式返回
print(c.items())
# 设置sorted的key参数为字典的value
print(sorted(c.items(), key=lambda x: x[1]))总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
python读取目录下所有的jpg文件,并显示第一张图片的示例
今天小编就为大家分享一篇python读取目录下所有的jpg文件,并显示第一张图片的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-06-06
Python网络编程之socket与socketserver
这篇文章介绍了Python网络编程之socket与socketserver,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-05-05
pytorch finetuning 自己的图片进行训练操作
这篇文章主要介绍了pytorch finetuning 自己的图片进行训练操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-06-06
深入理解Python虚拟机中字典(dict)的实现原理及源码剖析
这篇文章主要介绍了在 cpython 当中字典的实现原理,在本篇文章当中主要介绍在早期 python3 当中的版本字典的实现,现在的字典做了部分优化,希望对大家有所帮助2023-03-03


最新评论