lambda函数,即lambda 表达式,是一个匿名函数(不存在函数名的函数),lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction)。
一、lambda函数也叫匿名函数,即函数没有具体的名称。先来看一个最简单例子:
add=lambda x,y:x+y print(add(1,2)) 实例输出结果: 3
二、lambda和普通的函数相比,就是省去了函数名称而已。
-
使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。
-
对于一些抽象的,不会在别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
-
使用lambda在某些时候让代码更容易理解。
lambda函数声明形式如下:
lambda argument_list:expression
语法中的argument_list是参数列表,它的结构与Python中函数(function)的参数列表是一样的。
语法中的expression是一个关于参数的表达式,表达式中出现的参数需要在argument_list中有定义,并且表达式只能是单行的。
lambad函数的用法上面也讲到了匿名函数的优点,那它到底有哪些用处呢?
(1)直接赋给一个变量,然后再像一般函数那样调用
multi=lambda x,y,z:x*y*z multi(3,6,15) 实例输出结果 270
当然,也可以在函数后面直接传递实参
(lambda x:x**2)(6) 实例输出结果: 36
(2)将lambda函数作为参数传递给其他函数比如说结合map、filter、sorted等一些Python内置函数使用,下面举例说明。
squares=map(lambda x:x**2,range(10)) print(list(squares)) 实例输出结果: [0,1,4,9,16,25,36 49,64 81]
list(filter(lambda x:x%4==0,[2,4,6,8,10,12])) 实例输出结果: [4,8,12]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)