怎么在Python中利用排序对字典的关键进行排序

  介绍

怎么在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中利用排序对字典的关键进行排序