python lambda表达式

介绍

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)

原文出处:/show_1IX3FdV61VhM.html