格式
lambda argument_list:expression
特性
1.lambda函数是匿名的
2.lambda函数是有输入输出的(输入是传入argument_list的值,输出是通过expression计算出来的值)
3.lambda函数一般功能简单,expression只有一行
适用场景
1.将lambda函数赋值给一个变量
add=lambda z,y:x+y
print add(1,2)
2.将lambda函数赋值给一个函数,用于屏蔽已有的函数
time. sleep=lambda x:None
time. sleep(3) #这个调用什么都不会执行
3.将lambda函数赋作为其它函数的返回值
def func(1):
…
…
return lambda x:x+1
4.将lambda函数作为参数传递给其它函数
(1)部分内置函数接收函数作为参数。典型的如下:
【1】filter函数:指定过滤条件—filter(lambda x:x%3 == 0,[1,2,3])—将列表中能够被3整除的元素过滤出来,结果是[3]
【2】sorted函数:指定排序准则—sorted([1,2,3,4,5,6,7,8,9],key=lambda x:abs(5-x))—将列表中的元素按照元素与5的距离从小到大排序,结果是
【3】map函数:指定对列表中每一个元素的共同操作—map(lambda x:x+1,[1,2,3])—将列表中每个元素的值都加1,结果为[2,3,4]
【4】reduce函数:指定列表中两两相邻元素的结合条件—reduce(lambda x:’{a},{b}’.format(a,b),[1,2,3,4,5,6,7,8,9]),结果是’1,2,34,5,6,7,8,9’
优劣势
1.不能完成复杂操作
2.