lambda函数也叫匿名函数,就是没有函数名的函数。lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象。html
lambda [arg1 [,arg2,.....argn]]:expression
例以下面这段代码,实现两个数相乘:express
def fun(x, y): return x * y print(fun(2,3)) # 6
若是咱们使用lambda来写的话,一个lambda 表达式就能够搞定,不须要使用def :编程
fun = lambda x, y: x * y print(fun(2, 3)) # 6
lambda相较于普通函数来讲更加简洁,可是却不能共享在别的地方调用。因此通常是这个代码不须要别的地方复用,能够考虑使用lambda,这样的话能够省略给函数命名。函数式编程
# filter list1 = [3, 12, 9, 25, 17, 36, 14, 17, 27] list2 = filter(lambda x: x % 3 == 0, list1) print(list(list2)) # [3, 12, 9, 36, 27] # map list1 = [3, 12, 9, 25, 17, 36, 14, 17, 27] list2 = map(lambda x: x * 10, list1) print(list(list2)) # [30, 120, 90, 250, 170, 360, 140, 170, 270] # reduce from functools import reduce list1 = [3, 12, 9, 25, 17, 36, 14, 17, 27] print(reduce(lambda x, y: x * y, list1)) # 31854967200
总结lambda 的使用其实很简单,但注意不要盲目去使用lambda ,要看具体须要再使用它。函数