三个函数比较类似,都是应用于序列的内置函数。常见的序列包括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函数相关推荐

  1. Python中的map和reduce函数简介

    1.从参数方面来讲: map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数. reduce( ...

  2. python十九:map,filter,reduce函数

    # 处理序列中的每个元素,得到的结果是一个'列表',该'列表'元素个数及位置与原来一样 def map_practice(func, lt_num):lt_new = []for i in lt_nu ...

  3. 什么是Python中的map,reduce和filter?

    基本上,lambdas以及map,reduce和filter为python提供了函数式编程能力.让我们看看他们是什么. map: map函数采用 iterable(list,tuple,set)并将函 ...

  4. pythonmapiter_018.Python迭代器以及map和reduce函数

    一 迭代器 能被next进行调用,并且不断返回下一个值的对象 特征:迭代器会生成惰性序列,它通过计算把值依次的返回,一边循环一边计算而不是一次性得到所有数据 优点:需要数据的时候,一次取一个,可以大大 ...

  5. python课堂整理15---map, filter,reduce函数

    一.map函数 处理序列(可迭代对象)中的每一个元素,得到的结果是一个'列表'(其实是个迭代器),该'列表'元素个数及位置与原来一样 理解下面这段代码: num_l = [1, 2, 4, 6] de ...

  6. python中reduce是什么意思,python中的map和reduce有什么不同

    从参数方面来讲: map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数. reduce()函 ...

  7. map,filter,reduce函数总结

    #map:处理序列中的每一个元素,得到的结果是一个'列表(迭代器)',该列表元素个数及位置与原来一样#map处理的对象可以是列表,列表中的内容可以是字符串,数字,..也可以只处理一个独立的字符串 #f ...

  8. python map filter reduce

    本文记录python中,map,filter,reduce函数的用法. 参考链接: http://www.python-course.eu/lambda.php map map(func, seq) ...

  9. python中的map,feilter,和reduce函数

    python中的map,feilter,和reduce函数 map() map()的原型是map(function, iterable, -) 参数 function: 传的是一个函数名,可以是pyt ...

  10. Python中lambda、zip、map、reduce函数的使用

    一.lambda表达式 lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数.lambda所表示的匿名函数的内容应该是很简单的,如果复杂的话,干脆就重新 ...

最新文章

  1. php函数serialize()与unserialize()
  2. java:方法覆盖与方法重载
  3. 单机多节点有意义吗_十行代码让你的单机“影分身”,分布式训练速度快到飞起...
  4. iphone字体_iPhone 适合老人盘吗?
  5. Python实现定时任务,定时采集数据,定时执行脚本程序都可以
  6. Spark记录-Scala记录(基础程序例子)
  7. 关于Linux系统下若干易混淆目录的分析
  8. matlab与计量经济模型,计量经济学和matlab.pdf
  9. hex2bin() 函数
  10. linux 卸载你pip,ubuntu python pip无法卸载pi
  11. 简述前端MVVM框架
  12. 记录方维p2p项目后台登录自动化测试验证码问题
  13. tyvj P1517 飘飘乎居士的乌龟(最大流)
  14. mysql 1308_MySQL恢复数据报ERROR 1308 : LEAVE with no matching label
  15. Oracle--ORA-01775: 同义词的循环链
  16. 计算机cpu特点,电脑CPU性能怎么看
  17. 北邮智能车仿真培训(七)—— 使用c++编写程序
  18. 实例示范( 泰坦尼克沉船数据分析之一)
  19. Ubuntu命令笔记
  20. 第95篇 ES之安装Elastica及总结安装Elastica

热门文章

  1. ThinkPHP5访问去除/public/index.php
  2. PHP笔记-所有错误统一输出404页面(详细错误日志输出,提高安全性)
  3. C++笔记-Stack around the variable问题解析
  4. 专业课程设计之客户与服务器程序的同步与通信机制的设计(三)数据共享和线程
  5. oracle堆表和MySQL_聚簇索引对比|Oracle vs MySQL
  6. docker tomcat启动无法进入欢迎页面
  7. android 计时器工具类,Android中通用定时器--好用的工具
  8. java jdk最新版本是多少_Linux下一键安装java-jdk任意版本
  9. nodejs获得服务器响应,轻松创建nodejs服务器(6):作出响应
  10. Linux 多线程编程使用pthread_creat()函数条件