python中,我们了解过可以对列表、字符串的元素进行排序,那对于python字典中的元素可以排序吗?其实对于字典本身我们无法进行排序,但是我们可以对字典按值排序 。本文介绍python中对字典按照value进行排序的三种方法,下面一起来学习一下吧!
【python字典中的元素可以排序吗?python字典按照value排序方法】
文章插图
方法一:使用key和value进行封装成元组
实例如下:
f = zip(d.keys(), d.values())a = sorted(f)print(a)以上的代码是通过将一个d的key值和value使用zip进行封装成一个元组f,最后再利用sorted函数对它进行排序,然后输出a的值 。
方法二:key使用lambda匿名函数取value值进行排序
实例如下:
dict= {'a':1,'b':2,'c':3}sorted(dict.items(),key = lambda x:x[1],reverse = True)代码中使用value对字典进行排序,它是按照一个value值的大小进行排序的,在一个字典中因为是无序的,所以使用一个列表去对它进行排序将一个字典的key和value保存为一个元组对象 。
方法三:使用operator的itemgertter进行排序
使用这种方法来对字典进行排序,排序的速度比方法二使用匿名函数更快,同时它还支持多个关键字同时排序 。在使用之前,需要导入operator模块 。
例如我们现在有一个字典,里面存储的是学生的姓名、年龄、还有成绩 。
students = [{"name": "xiaoxiao", "age": 22, "score": 92},{"name": "wangwang", "age": 19, "score": 99},{"name": "huang", "age": 23, "score": 82},]代码如下:
from operator import itemgetterstudents_by_score_age = sorted(students, key=itemgetter("score", "age"), reverse=True)print(students_by_score_age)就是通过使用itemgertter进行来对学生的成绩进行排序,从运行结果可以看出来,排序的顺序是降序 。
输出结果:
[{"name": "wangwang", "age": 19, "score": 99},{"name": "xiaoxiao", "age": 22, "score": 92},{"name": "huang", "age": 23, "score": 82},]关于“python字典中的元素可以排序吗?python字典按照value排序方法”就讲解到这里啦,上面给大家介绍了三种关于字典排序的方法,赶紧动手去实践一下吧!
推荐阅读
- Python中怎样遍历一个文件?python遍历文件的方法有哪些?
- Python正则表达式中如何匹配反斜杠?Python正则表达式匹配反斜杠的方法
- Python向MySQL数据库能存入的数据类型有哪些? MySQL数据库中存入json类型数据的方法
- Python模块要如何命名?Python导入模块提示语法错误怎么办
- Python如何转换数据类型?转换数据类型的方法有哪些?
- Python如何计算语句执行时间?哪些函数可以获取程序的执行时间?
- Python的大数据开发需要学习什么?如何学好python大数据开发?
- Python导入模块的本质是什么?Python导入模块是怎么执行的
- python2与python3的print区别? Python3中print函数的用法
- Python如何查找特定类型文件?使用python查找特定类型文件妙招