1、lambda函数
lambda可用于定义函数,例子:
func = lambda x,y: x+y
print func(x,y)
2、函数可作为参数传递
def f2(f1,a):
f1(a,1)
return f1
f2(f1,4)
3、map
re = map((lambda x: x+3),[1,3,5,6])
map有两个参数,一个是lambda所定义的函数,另一个是包含多个元素的表
map的功能是 将 函数依次作用于 表中的元素, 并将结果保存在 re 表中,map多个参数写法如下
re = map((lambda x,y: x+y),[1,2,3],[6,7,9])
4、filter
filter函数的第一个参数也是一个函数对象(这里不一定是lambda定义的)。它也是将作为参数的函数对象作用于多个元素。如果函数对象返回的是True,则该次的元素被储存于返回的表中。
filter通过读入的函数来筛选数据。同样,在Python 3.X中,filter返回的不是表,而是循环对象。实例如下
def func(a):
if a > 100:
return True
else:
return False
print filter(func,[10,56,101,500])
5、reduce
reduce函数的第一个参数也是函数,但有一个要求,就是这个函数自身能接收两个参数。reduce可以累进地将函数作用于各个参数。
如下:
print reduce((lambda x,y: x+y),[1,2,5,7,9])
相当于(((1+2)+5)+7)+9
时间: 2024-10-12 20:46:34