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传入的其实是一个处理函数,进而根据处理后数值进行排序。