lambda函数也叫匿名函数,是没有函数名的函数。lambda表达式是根据数学中的lambda演算命名的,直接对应于其中的lambda抽象。lambda函数的语法仅包含一条语句:lambda[arg1[,arg2,.....argn]]:expression。lambda语句构建的实际上是一个函数对象。比如下面这段代码实现了两个数的乘法:deffun(x,y):returnx*yprint(fun(2,3))#6如果我们用lambda来写,一个lambda表达式就可以搞定,不需要用def:fun=lambdax,y:x*yprint(fun(2,3))#6lambda使用lambda比普通函数更简洁,但是不能在别处共享和调用。所以一般这段代码不需要在别处复用,可以考虑使用lambda,这种情况下可以省略函数的命名。Python提供了很多函数式编程特性,比如filter、reduce、map、sorted等,都支持函数作为参数,lambda函数可以应用在函数式编程中。#filterlist1=[3,12,9,25,17,36,14,17,27]list2=filter(lambdax:x%3==0,list1)print(list(list2))#[3,12,9,36,27]#maplist1=[3,12,9,25,17,36,14,17,27]list2=map(lambdax:x*10,list1)print(list(list2))#[30,120,90,250,170,360,140,170,270]#reducefromfunctoolsimportreducelist1=[3,12,9,25,17,36,14,17,27]print(reduce(lambdax,y:x*y,list1))#31854967200小结lambda的使用其实很简单,但是不要盲目使用lambda看是否需要再用。参考:https://www.9xkd.com/user/plan.html
