前言
Lambda表达式也叫匿名函数。这类函数的特点是不需要去特别定义函数的名字。通常在需要一个函数、但又不想费力去命名它的时候,就可以使用匿名函数Lambda()。
实例1
def add(x,y):
return x+y
#上述函数改成lambda表达式
lambda x, y: x+y
将lambda表达式赋值给变量
f=lambda x, y: x+y
print(f)
z=f(1,2)
print(z)
输出结果
<function <lambda> at 0x000001CC7D913E18>
3
lambda表达式不需要用“return”关键字返回内容,函数默认会返回“:”右边的值。
既然lambda表达式没有函数名字,那么在什么时候会用到lambda表达式呢?一般有两种情况:
(1)程序只执行一次,不需要定义函数名,使用lambda方便定义,并且节省了内存中变量的定义
(2)在某些函数中必须作为参数,但是函数本身十分简答而且只在一处使用。
看实例2
实例2
a1=[1,2,3,4,5,6,7,8]
a2=[item for item in filter(lambda x:x>5,a1)]
print(a2)
输出结果
[6, 7, 8]
filter为python的内置函数,用于过滤序列,即过滤掉不符合条件的元素。filter函数的第一个参数需要传入另一个函数,传入的函数用来作为筛选条件。这个例子用lambda表达式会使得程序变得更加简洁
总结
方便就完事了。