也称匿名函数,这类函数的特点就是不需要特别去定义函数的名字。
def add(x,y):
return x+y
lambda x,y:x+y
不需要return关键字去返回内容,函数默认会返回“:”右边的值,lambda表达式没有函数名。
f=lambda x,y:x+y
print(f)
z=f(1,2)
print(z)
运行结果:
<function <lambda> at 0x0000016662C97CE0>
3
什么时候用lambda表达式?
(1)程序只执行一次,不需要定义函数名。
(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函数的第一个参数需要传入另一个函数,用来作为筛选条件,满足条件返回:True,否则返回:False。'
g=lambda x,y=2,z=3:x+y+z
g(1)
6