贵阳市城乡建设部网站商城推广
1、什么是匿名函数?
匿名函数,顾名思义,就是没有名字的函数,它主要用在那些只使用一次的场景中。如果我们的程序中只需要调用一次某个简单逻辑,把它写成函数还需要先定义、取函数名字等一些列操作,这种场景下使用匿名函数往往能够让你的程序更加简单。
2、lambda表达式
lambda [parameters] :expression
说明:
- “ lambda”一词不是名称,而是关键字。此关键字指定后面的函数是匿名的。
- 参数可以有多个,多个参数之间用","分隔,表达式只能是一个。
- 输入是 parameters,输出是expression。
3、使用匿名函数的优缺点
- 可以减少代码量,使代码更简洁,更Python范!
- lambda表达式没有函数名,不用纠结函数起名了
- 避免滥用lambda表达式
4、应用实例
因为高阶函数是将函数作为参数,所以可以将lambda函数作为参数传递给高阶函数使用。
(1)将lambda函数作为参数传递给map函数
print(list(map(lambda x: x ** 2, [1, 2, 3, 4, 5])))
(2)将lambda函数作为参数传递给reduce函数
print(reduce(lambda x, y: x + y, [1, 2, 3, 4, 5]))
(3)将lambda函数作为参数传递给filter函数
print(list(filter(lambda x: x % 2 == 1, [1, 2, 3, 4, 5])))
(4)将lambda函数作为参数传递给sorted函数
print(sorted([-5, -1, 3, 4, 2], key=lambda x: abs(x)))
reference:
python基础 — 高阶函数_笃行之.kiss的博客-CSDN博客