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

 

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM