Python 使用 lambda 来创建匿名函数。
lambda 函数是一种小型、匿名的内联函数,它可以具有任意数量的参数,但只能有一个表达式。
匿名函数的一般格式如下:
lambda 参数列表:表达式
表达式用于计算并返回函数结果
lambda 函数通常用于编写简单的、单行的函数,通常在需要函数作为参数传递的情况下使用,例如在 map()、filter()、reduce() 等函数中。
所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。
- lambda 只是一个表达式,函数体比 def 简单很多。
- lambda 的主体是一个表达式,而不是一个代码块,通常只包含一行代码。仅仅能在 lambda 表达式中封装有限的逻辑进去。
- lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
- lambda 函数是匿名的,它没有函数名称,只能通过赋值给变量或作为参数传递给其他函数来使用。
以下是简单的匿名函数实例:
#没有参数的匿名函数 str1=lambda:'hello python' print(str1()) #有一个参数的匿名函数 num1=lambda a:a print(num1(5)) #有多个参数的匿名函数 sum=lambda a,b,c:a+b+c print(sum(1,2,3))
lambda 函数通常与内置函数如 map()、filter() 和 reduce() 一起使用,以便在集合上执行 *** 作。
例如:
from functools import reduce list1=[1,2,3,4,5] #map cf=list(map(lambda a:a**2,list1)) print(cf) #filter os=list(filter(lambda a:a%2==0,list1)) print(os) #reduce qh=reduce(lambda a,b:a*b,list1) print(qh)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)