python中的map、filter、reduce函数
三个函数比较类似,都是应用于序列的内置函数。常见的序列包括list、tuple、str。
1、map函数
map函数会根据提供的函数对指定序列做映射。
map函数的定义:
map(function,sequence[,sequence,...]) ->list
通过定义可以看到,这个函数的第一个参数是一个函数,剩下的参数是一个或多个序列,返回值是一个集合。
function可以理解为是一个一对一或多对一的函数,map的作用是以参数序列中的每一个元素调用function函数,返回包含每次function函数返回值的list。
比如要对一个序列中的每个元素进行平方运算:
返回结果为:
在参数存在多个序列时,会依次以每个序列中相同位置的元素做参数调用function函数
比如要对两个序列中的元素依次求和:
map返回的list中的第一个元素为1,加参数序列2中的第一个元素为2,即(1+2)
map返回的list中的第二个元素为3,加参数序列2中的第二个元素为4,即(3+4)
以此类推,最后的返回结果为:
要注意function函数的参数数量,要和map中提供的集合数量相匹配。
如果集合长度不相等,会以最小长度对所有集合进行截取。
2、filter函数
filter函数会对指定序列执行过滤操作。
filter函数的定义:
filter(function or None,sequence) ->list,tuple or string
function是一个谓词函数,接受一个参数,返回布尔值True或False。
filter函数会对序列参数sequence中的每个元素调用function函数,最后返回的结果包含调用结果为True的元素。
返回值的类型和参数sequence类型相同。
筛选list列表中以ex结尾的元素:
打印结果:
['alex']
3、reduce函数
reduce函数会对参数序列中元素进行累积。
定义:
reduce(function,sequence[,initial]) ->value
function参数是一个有两个参数的函数,reduce依次从sequence中取一个元素,和上一次调用function的结果做参数再次调用function。
第一次调用function时,如果提供initial参数,会以sequence中的第一个元素和initial参数,会以sequence中的第一个元素和initial作为参数调用function,否则会以序列sequence中的前两个元素做参数调用function。
求数列中元素的和:
打印结果:
15
转载于:https://www.cnblogs.com/LYliangying/p/6227019.html
python中的map、filter、reduce函数相关推荐
- Python中的map和reduce函数简介
1.从参数方面来讲: map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数. reduce( ...
- python十九:map,filter,reduce函数
# 处理序列中的每个元素,得到的结果是一个'列表',该'列表'元素个数及位置与原来一样 def map_practice(func, lt_num):lt_new = []for i in lt_nu ...
- 什么是Python中的map,reduce和filter?
基本上,lambdas以及map,reduce和filter为python提供了函数式编程能力.让我们看看他们是什么. map: map函数采用 iterable(list,tuple,set)并将函 ...
- pythonmapiter_018.Python迭代器以及map和reduce函数
一 迭代器 能被next进行调用,并且不断返回下一个值的对象 特征:迭代器会生成惰性序列,它通过计算把值依次的返回,一边循环一边计算而不是一次性得到所有数据 优点:需要数据的时候,一次取一个,可以大大 ...
- python课堂整理15---map, filter,reduce函数
一.map函数 处理序列(可迭代对象)中的每一个元素,得到的结果是一个'列表'(其实是个迭代器),该'列表'元素个数及位置与原来一样 理解下面这段代码: num_l = [1, 2, 4, 6] de ...
- python中reduce是什么意思,python中的map和reduce有什么不同
从参数方面来讲: map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数. reduce()函 ...
- map,filter,reduce函数总结
#map:处理序列中的每一个元素,得到的结果是一个'列表(迭代器)',该列表元素个数及位置与原来一样#map处理的对象可以是列表,列表中的内容可以是字符串,数字,..也可以只处理一个独立的字符串 #f ...
- python map filter reduce
本文记录python中,map,filter,reduce函数的用法. 参考链接: http://www.python-course.eu/lambda.php map map(func, seq) ...
- python中的map,feilter,和reduce函数
python中的map,feilter,和reduce函数 map() map()的原型是map(function, iterable, -) 参数 function: 传的是一个函数名,可以是pyt ...
- Python中lambda、zip、map、reduce函数的使用
一.lambda表达式 lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数.lambda所表示的匿名函数的内容应该是很简单的,如果复杂的话,干脆就重新 ...
最新文章
- php函数serialize()与unserialize()
- java:方法覆盖与方法重载
- 单机多节点有意义吗_十行代码让你的单机“影分身”,分布式训练速度快到飞起...
- iphone字体_iPhone 适合老人盘吗?
- Python实现定时任务,定时采集数据,定时执行脚本程序都可以
- Spark记录-Scala记录(基础程序例子)
- 关于Linux系统下若干易混淆目录的分析
- matlab与计量经济模型,计量经济学和matlab.pdf
- hex2bin() 函数
- linux 卸载你pip,ubuntu python pip无法卸载pi
- 简述前端MVVM框架
- 记录方维p2p项目后台登录自动化测试验证码问题
- tyvj P1517 飘飘乎居士的乌龟(最大流)
- mysql 1308_MySQL恢复数据报ERROR 1308 : LEAVE with no matching label
- Oracle--ORA-01775: 同义词的循环链
- 计算机cpu特点,电脑CPU性能怎么看
- 北邮智能车仿真培训(七)—— 使用c++编写程序
- 实例示范( 泰坦尼克沉船数据分析之一)
- Ubuntu命令笔记
- 第95篇 ES之安装Elastica及总结安装Elastica
热门文章
- ThinkPHP5访问去除/public/index.php
- PHP笔记-所有错误统一输出404页面(详细错误日志输出,提高安全性)
- C++笔记-Stack around the variable问题解析
- 专业课程设计之客户与服务器程序的同步与通信机制的设计(三)数据共享和线程
- oracle堆表和MySQL_聚簇索引对比|Oracle vs MySQL
- docker tomcat启动无法进入欢迎页面
- android 计时器工具类,Android中通用定时器--好用的工具
- java jdk最新版本是多少_Linux下一键安装java-jdk任意版本
- nodejs获得服务器响应,轻松创建nodejs服务器(6):作出响应
- Linux 多线程编程使用pthread_creat()函数条件