怎么在Python中利用排序对字典的关键进行排序?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
<强>排序函数强>
排序(iterable,钥匙,扭转)
- <李>
iterable待排序的可迭代对象
李> <李>键对应的是个函数,该函数用来决定选取用哪些值来进行排序
李> <李>逆向反转排序
李><强>对关键排序强>
d:, dict =, {“p": 59岁,“o":, 9日,“s":, 5日,“a":, 20日,“z":, 18岁} 李:,list =,排序(d.keys ()) 打印(李)
执行结果:
[& # 39;一个# 39;& # 39;o # 39;, & # 39; p # 39;, & # 39; & # 39;, & # 39; z # 39;]
引用>
<强>对价值排序强>
在对价值之前,先来回炉一下Python的λ表达式,
f =, lambda x: x + 1 打印(f (5)) def ff (x): return x + 1 打印(ff (5))执行结果:
6
引用>
6
以上两种方式是等价的,λ表达式写法更简洁,一般当做匿名表达式/匿名函数使用
<强>λx: y 强>
<李>
x为入参
李> <李>y为计算表达式,运算后返回
李>接下来进入到对字典的价值排序正题,这里就需要使用到λ表达式
<强>直接对值排序强>
d:, dict =, {“p": 59岁,“o":, 9日,“s":, 5日,“a":, 20日,“z":, 18岁} 李:,list =,排序(d.values ()) 打印(李)执行结果:
[59] 18 5日,9日,20日
引用>
在包含关键的情况下对值排序
, d:, dict =, {“p": 59岁,“o":, 9日,“s":, 5日,“a":, 20日,“z":, 18岁} 李:,list =,排序(d.items(),,关键=lambda x:, x [1]) 打印(李)执行结果:
((& # 39; & # 39; 5), (& # 39; o # 39;, 9), (& # 39; z # 39;, 18),(& # 39;一个# 39;,20),(& # 39;p # 39;, 59)]
引用>
d.items()返回以元组形式构成的列表dict_items (((& # 39; p # 39;, 59), (& # 39; o # 39;, 9),(& # 39; & # 39; 5),(& # 39;一个# 39;,20),(& # 39;z # 39;, 18)))(列表为可迭代对象)
λx: x[1]λ表达式中,x为入参,每次x的值为一个d.items()中的元素(一个元组),第一个入参为(& # 39;p # 39;, 59)冒号后面的x[1]是运算表达式,意思是取元组中的第二个元素返回(索引为1),返回的元素即为排序的依据。所以如果需要对关键进行排序,也可以在表达式里写x [0]
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
怎么在Python中利用排序对字典的关键进行排序