python排序参数key以及lambda函数

首先,lambda格式 lambda x:x+1

前面的x相当于传入的形参,后面的相当于返回值

使用起来很简单,只要明白“:”前后的含义即可正确使用。

再来说一下排序等函数中的key,这里以list.sort(key=??)为例,

如果list=[1, -2, 3, -4, 5],那么list.sort(key=lambda x:x*-1)

执行后list将变为[5, 3, 1, -2, -4],(注意,这里虽然看起来是降序没问题,

但是sort默认是升序排列的)

很容易看出来这里sort函数遍历了列表,遍历每一项过程中按照

对应项的相反数进行了排序,可以抽象为key这个参数给每一项加了

一个代表“身高”的数值,进而根据这个数值对原有列表进行排序。

所以说,key传入的其实是一个处理函数,进而根据处理后数值进行排序

posted @ 2019-11-27 22:19  lgf133  阅读(2513)  评论(0编辑  收藏  举报