Python内置函数之filter map reduce介绍
Python内置了一些非常有趣、有用的函数,如:filter、map、reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Python列表方法的三架马车。
>>> N=range(10) >>> print filter(lambda x:x>5,N) [6,7,8,9] 2. map函数func作用于给定序列的每个元素,并用一个列表来提供返回值。 >>> N1=[1,2,3] >>> N2=[6,5,4] >>> map(lambda x,y:x+y,N1,N2) [7,7] >>> map(lambda x:x+3,N1) [4,6] 3. reduce函数,func为二元函数,将func作用于seq序列的元素,每次携带一对(先前的结果以及下一个序列的元素),连续的将现有的结果和下一个值作用在获得的随后的结果上,最后减少我们的序列为一个单一的返回值。 >>> N=range(1,101) >>> reduce(lambda x,N) 5050 例1:用map和reduce实现5的阶乘相加(5!+4!+3!+2!+1!) >>>print reduce(lambda x,y:x*y,range(1,6)) >>>print reduce(lambda x,5)) >>>print reduce(lambda x,4)) >>>print reduce(lambda x,3)) >>>print reduce(lambda x,2)) ''' 结果为 120 24 6 2 1 ''' #把上一步的结果变成一个阶乘列表 >>>print map(lambda a:reduce(lambda x,a+1)),6)) [1,6,24,120] #最后把阶乘列表相加,第一题解决 >>>print reduce(lambda m,n:m+n,map(lambda a:reduce(lambda x,6))) 153 例2:用filter将100~200以内的质数过滤出来 >>>filter(lambda N:len(filter(lambda M:N%M==0,range(2,int(N**0.5)+1)))==0,range(100,201)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 使用python twisted框架连接到多个串行套接字
- python – PIL – 图像粘贴在另一个图像与Alpha
- python – Swig -outdir选项不包含.so文件
- flask开发遇到 jinja2.exceptions.TemplateNotFound
- Python 第二十一章
- Python的collections模块中的OrderedDict有序字典
- python – 在CPanel上部署django
- Python:使用pandas从CSV文件中删除非ascii字符
- python – 在Django中捕获TemplateDoesNotExist
- python – 除了大量的Javascript之外,Web 2.0应用程序还有可