Python 支持用 lambda 对简单的功能定义 “行内函数”
1.例如:
f= lambda x: x+2 #定义函数 f(x)=x+2
g= lambda x,y: x+y #定义函数 g(x,y)=x+y
2.map( )函数用于逐一遍历
a= [1,2,3]
b=map(lambda x,y: x*y,a,b) #将a,b两个列表的元素对应相乘,把结果返回给新列表
b=list(b)
3.reduce( )函数用于递归计算(该函数置于functools库中 )
from functools import reduce
reduce(lamba x,y: x*y, range(1,n+1)) #range给出一个列表,元素是1~n+1这n个整数
等同于:
s=1
for i in range(1,n+1):
s=s*i
4.过滤器 filter( ),筛选出列表中符合条件的元素
b=filter(lamba x:x>5 and x<8, range(10))
b=list(b)
#结果是 [6,7]
等同于:
b= [i for i in range(10) if i>5 and i<8]