func_1=lambda x:x+1 print(func_1(3)) #4 print(func_1(7)) #8 #lambda作为一个表达式,定义了一个匿名函数,上例的代码x为入口参数,x+1为函数体,用函数来表示为: def func_1(x): return (x+1)
也可以这样使用:
lambda x:x+1(3) # 4
from functools import reduce foo = [1, 2, 3, 4, 5]
## 过滤数据,保留能被2整除的数值 print (list(filter(lambda x: x % 2 == 0, foo))) #[2, 4]
## 输入参数都乘以3 print (list(map(lambda x: x * 3 , foo))) #[3, 6, 9, 12, 15]
## 输入参数求累加和 print (reduce(lambda x, y: x + y, foo)) #15
其实Python的for..in..if语法已经很强大,并且在易读上胜过了lambda。
foo = [1, 2, 3, 4, 5] ## 过滤数据,保留能被2整除的数值 print( [x for x in foo if x % 2 == 0] ) ## 输入参数都乘以3 print( [x*3 for x in foo] )