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

 

  

posted @ 2016-08-17 23:46  loyfee  阅读(1570)  评论(0编辑  收藏  举报