python字典按值的大小排序

作者:原创时间:2022-03-09
文档

python字典按值的大小排序怎么操作?一起来看看小编今天的分享吧!

python字典按值的大小排序可以通过sorted函数进行操作。

操作方法:

首先生成一个随机字典。

from random import randint
d={x:randint(60,99) for x in "abcdefg"}   # {'a': 62, 'b': 97, 'c': 87, 'd': 68, 'e': 91, 'f': 76, 'g': 88}

总体思路:sorted函数可以对列表[]进行从小到大排序,对于字典{}dict,sorted函数只比较dict的key进行排序,所以要对dict进行调整变形。
1、利用zip函数把dict转换成一个列表,列表中每个元素都是一个tuple,tuple大小比较原理是,先比较第一个元素,第一个相同在比较第二个。
2、利用sorted函数对转换后的列表进行排序。

z=zip(d.values(),d.keys())   #[(62, 'a'), (74, 'b'), (83, 'c'), (96, 'd'), (75, 'e'), (79, 'f'), (83, 'g')],

然后对这个列表进行sorted排序

sorted(z)

另外,[(a1,b1,c1),(a2,b2,c2),(a3,b3,c3),(a4,b4,c4)……]    sorted函数可以对这种集合进行指定元素排序。

sorted(d.items(),key=lambda x:x[1])

第一个从参数是需要排序的列表,第二个参数是指定key(列表中每一项的第几个元素)来进行排序。
解释这句代码:d.items()返回的是一个列表  [('a', 74), ('b', 90), ('c', 84), ('d', 85), ('e', 64), ('f', 66), ('g', 88)]
sorted会对d.items()这个list进行遍历,把list中的每一个元素,也就是每一个tuple()当做x传入匿名函数lambda x:x[1],函数返回值为x[1],
也就是key=x[1]=tuple()[1]=('a', 74)[1],也就是说按照里表中每个项的第二个元素进行排序(第一个是想x[0]).

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
python 排序算法 spring boot mysql配置 vue动态绑定style js date加一天 字符转换成ascii码 c语言struct用法 java reentrantlock python tkinter教程 js获取日期 python numpy教程 opencv安装教程python js获取随机数 ubuntu卸载mysql cad的基本命令 python中sorted函数的用法 mysql time类型 js class类 python中strip函数的用法 getclass方法 python中find函数的用法 python 列表添加 python读取json并解析 debug error怎么解决 python延时函数 python构造函数 python string函数 python类的继承 python递归函数 python内置函数 python判断字符串相等 python查看已安装的包 python强制类型转换 python input函数怎么用 python类型转换 python split函数用法 python读取json python组合数据类型 python查看变量类型 python split函数 c++ template用法