关于python3匿名函数与sorted()函数

img


为什么sorted()函数第二个参数可以识别lambda表达式?

key参数是一个可调用的匿名函数,在排序时,列表中的每一项都会调用key函数,sorted函数基于key函数返回的结果完成列表中项的排序。
lambda 关键字的使用,创建了一个可调用的匿名函数。在使用sorted函数的情况下,lambda 匿名函数只能有一个参数,并且返回一个可以比较大小的值。

key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
排序时取可迭代对象my_list中的元组作为key,但是因为有匿名函数,这个key会取元组的第二个元素作为排序对象