博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python filter, map, 和reduce
阅读量:7071 次
发布时间:2019-06-28

本文共 1020 字,大约阅读时间需要 3 分钟。

filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回:

>>> def f(x): return x % 2 != 0 and x % 3 != 0 

>>> filter(f, range(2, 25)) 

[5, 7, 11, 13, 17, 19, 23]

>>> def f(x): return x != 'a' 

>>> filter(f, "abcdef") 

'bcdef'


map(function, sequence) :对sequence中的item依次执行function(item),见执行结果组成一个List返回:

>>> def cube(x): return x*x*x 

>>> map(cube, range(1, 11)) 

[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]

>>> def cube(x) : return x + x 

... 

>>> map(cube , "abcde") 

['aa', 'bb', 'cc', 'dd', 'ee']

另外map也支持多个sequence,这就要求function也支持相应数量的参数输入:

>>> def add(x, y): return x+y 

>>> map(add, range(8), range(8)) 

[0, 2, 4, 6, 8, 10, 12, 14]


reduce(function, sequence, starting_value):对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用,例如可以用来对List求和:

>>> def add(x,y): return x + y 

>>> reduce(add, range(1, 11)) 

55 (注:1+2+3+4+5+6+7+8+9+10)

>>> reduce(add, range(1, 11), 20) 

75 (注:1+2+3+4+5+6+7+8+9+10+20)

本文转自    拖鞋崽      51CTO博客,原文链接:http://blog.51cto.com/1992mrwang/1398801

转载地址:http://qjell.baihongyu.com/

你可能感兴趣的文章
Google 成为 Safari 默认搜索引擎今年需要 90 亿美元
查看>>
UML统一建模语言
查看>>
Kotlin:使用Kotlin开发一个命令行计算器
查看>>
计算机操作系统之存储管理
查看>>
超详细动手搭建一个Vuepress站点及开启PWA与自动部署
查看>>
soap 简单的例子
查看>>
WPF控件
查看>>
社科院报告:建议全国2030年起实行4天工作制
查看>>
基于redis的分布式ID生成器
查看>>
Python之计算24点
查看>>
CSS Content 属性
查看>>
mysql之覆盖索引
查看>>
JavaWeb路径问题打包总结--小心出门右转404
查看>>
下载telegram群组聊天消息
查看>>
Rsync全网数据同步备份及检查
查看>>
英特尔AI如何帮助修缮残垣断壁的长城,背后的奥秘找到了
查看>>
学习Java基础知识,打通面试关~十二接口与抽象类
查看>>
小米2系列板砖自救行动
查看>>
人脸识别竞争激烈机器人视觉或将成为下一热点
查看>>
今天,我们请来一波超龄儿童画出了他们眼中的AI……
查看>>