Python3---filter,map,reduce
filter(func,iter) 只能处理一个参数(iter),仅仅将满足func方法的数值过滤出来
如:
a = [1,2,3,4,5]
list(filter(lambda x:x>2,a))
输出结果为: [3,4,5]
map(func,iter1,iter2,..) 可以处理多个iter,实现通过func方法对iter1,iter2,..进行处理
如:
reduce(func,iter,init):仅能处理一个iter,init为初始化值,执行顺序为:先将每个iter内部第一个值和init进行func处理,处理的结果再与iter第二个值进行func处理,直到结束。
如:
首先加载reduce模块:
from functools import reduce
reduce(lambda x, y: x + y, [2, 3, 4, 5, 6], 1)
结果为21 执行顺序为---->( (((((1+2)+3)+4)+5)+6) )
reduce(lambda x, y: x + y, [2, 3, 4, 5, 6])
结果为20