介绍
lambda 表达式是只有 一行代码 的 匿名函数。
如果代码较多,则使用普通函数
lambda 表达式并不是 python 特有的,在 Java、JavaScript、scala 等高级语言中,都支持,只是略有不同
作用
简化开发,编写代码更少
提示:不用 lambda表达式,用普通函数也可以
应用场景
lambda 表达式,作为参数,传递给另一个函数
lambda表达式
无参无返回值
普通函数写法:
def test():
print("无参无返回值的普通函数")
test() # 调用函数
改写成 lambda表达式:
test = lambda :print("无参无返回值 lambda表达式")
test()
一个参数,无返回值
call = lambda num:print("一个参数据,无返回值 lambda表达式。打电话给:",num)
call("110")
多个参数,无返回值
使用较少,略
无参数,有返回值
使用较少,略
一个参数,有返回值
见 多个参数,有返回值
多个参数,有返回值
不需要写 return
add = lambda a,b: a+b
res = add(1,2)
print("res:",res)
案例
执行 map 运算
执行 map 计算,计算过程如下图:
l = [1,2,3,4]
res = list( map(lambda x:x*2 , l) )
print("res:",res)
执行 reduce 运算
执行 reduce 计算,计算过程如下图:
代码:
from functools import reduce
l = [1,2,3,4]
res = reduce(lambda a,b:a+b , l)
print("res:",res)

