原创
2022-12-21 11:03:35
138 阅读
当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。
在Python中,对匿名函数提供了有限支持。>>> list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))[1, 4, 9, 16, 25, 36, 49, 64, 81]关键字lambda表示匿名函数冒号前面的x表示函数参数。返回值就是该表达式的
排序算法Python内置的sorted()函数就可以对list进行排序:>>> sorted([36, 5, -12, 9, -21])[-21, -12, 5, 9, 36]sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序:>>> sorted([36, 5, -12, 9, -21], key=abs)
map函数比如我们有一个函数f(x)=x2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map()实现如下:def f(x): return x * xl = [1,2,3,4,5,6,7,8,9,10,11,22,33,44,55]f = map(f,l)f = list(f)print(f)map()传入的第一个参数是f,即函数对象本