参考链接: 带有示例的Python中的map(),filter()和reduce()

(1)map()函数

map() 函数的基本语法格式为:map(function, iterable)

其中,function 参数表示要传入一个函数,其可以是内置函数、自定义函数或者 lambda 匿名函数;iterable 表示一个或多个可迭代对象,可以是列表、字符串等。 map() 函数的功能:对可迭代对象iterable中的每个元素,都调用指定的函数,并返回一个 map 对象。

注意,该函数返回的是一个 map 对象,不能直接输出,可以通过 for 循环或者 list() 函数来显示。

例1:

#函数式编程

#map()函数

my_list=[1,2,3,4,5,6]

new_list=map(lambda x:x**3,my_list)

print(list(new_list))

运行结果为:

[1, 8, 27, 64, 125, 216]

(2)filter函数

filter()函数的基本语法格式为:filter(function, iterable)

funcition 参数表示要传入一个函数,iterable 表示一个可迭代对象。 filter() 函数的功能是对 iterable 中的每个元素,都使用 function 函数判断,并返回 True 或者 False,最后将返回 True 的元素组成一个新的可遍历的集合。

#filter()函数

my_list = [11, 22, 13, 42, 35]

new_list = filter(lambda x: x % 2 == 0, my_list)

print(list(new_list))

输出结果为:

[22, 42]

(3)reduce函数

reduce() 函数用来对一个集合做累积操作,其基本语法格式为:reduce(function, iterable)

其中,function 必须是一个包含 2 个参数的函数;iterable 表示可迭代对象。 注意,由于 reduce() 函数在 Python 3.x 中已经被移除,放入了 functools 模块,因此在使用该函数之前,需先导入 functools 模块。

例3:

#reduce()函数

import functools

my_list=list(range(1,5))

new_list=functools.reduce(lambda x,y:x*y,my_list)

print(new_list)

运行得到:24

总结:

从上面的例子中我们可以看到,map函数用于操作列表等数据类型,对列表的每一个数据元素均采用相同的函数操作,最终输出计算得到的结果;filter主要用于判断条件,如判断列表中的数据是否符合一定的条件,并将符合条件的数据元素输出;reduce函数用于将列表中的数据元素求解累积,最终得到的是一个数;

也就是说:map函数和filter最终得到的是一个数据对象,需要使用list转化成列表数据才能输出;reduce输出的直接就是一个数值,即列表元素的累积值。

[转载] Python---函数式编程(map()、filter()和reduce())总结相关推荐

  1. python的映射_Python学习:映射函数(map)和函数式编程工具(filter和reduce)

    在序列中映射函数map map函数会对一个序列对象中的每一个元素应用被传入的函数,并且返回一个包含了所有函数调用结果的一个列表. 例1:def sum(x): return x + 10 L1 = [ ...

  2. Python函数式编程——map()、reduce()

    提起map和reduce想必大家并不陌生,Google公司2003年提出了一个名为MapReduce的编程模型[1],用于处理大规模海量数据,并在之后广泛的应用于Google的各项应用中,2006年A ...

  3. Python 函数式编程Map、Reduce

    在函数式语言里,map表示对一个列表(List)中的每个元素做计算,reduce表示对一个列表中的每个元素做迭代计算.它们具体的计算是通过传入的函数来实现的,map和reduce提供的是计算的框架. ...

  4. Python函数式编程-map/reduce

    1.map map()传入的第一个参数是f,即函数对象本身. map()函数接收两个参数,一个是函数,一个是Interable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterat ...

  5. Python函数式编程:map/reduce

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作为一种抽象程度极高的编程范式,函数式编程的最大特点就是允许函数本 ...

  6. Python Map, Filter and Reduce

    所属网站分类: python基础 > 函数 作者:慧雅 原文链接: http://www.pythonheidong.com/blog/article/21/ 来源:python黑洞网 www. ...

  7. Python 函数式编程,从入门到放弃

    很早以前就听说过了函数式编程,印象中是一种很晦涩难懂的编程模式,但却一直没有去进行了解. 恰好这周组内的周会轮到我主持,一时也没想到要分享什么.灵光一闪,就选定函数式编程这个主题吧,反正组里的同事都没 ...

  8. 函数式编程语言python-10分钟学会python函数式编程

    原标题:10分钟学会python函数式编程 在这篇文章里,你将学会什么是函数范式以及如何使用Python进行函数式编程.你也将了解列表推导和其它形式的推导. 函数范式 在命令式范式中,通过为计算机提供 ...

  9. Python 函数式编程指北,不只是面向对象哦

    了解在Python中如何使用 lambda, map, filter 和 reduce 函数来转换数据结构 Photo by Markus Spiske on Unsplash 面向对象的编程通过封装 ...

  10. python函数式编程读取数据-python学习笔记9:函数式编程

    函数式编程(FunctionalProgramming) 基于lambda演算的一种编程方式 程序中只有函数 函数可以作为参数,同样可以作为返回值 纯函数式编程语言: LISP, Haskell Py ...

最新文章

  1. iMeta | 宏基因组生物信息期刊-创刊背景和简介
  2. mysql语句的左外链接_MySQL中的JOIN连接
  3. 大连工业大学艺术学院计算机考试,大连工业大学艺术与信息工程学院应用科技学院...
  4. 解决nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
  5. Python装饰器几个有用又好玩的例子
  6. mysqld已删除但仍占用空间的_U盘删除的文件在哪?
  7. 正则表达式:基础知识学习
  8. 速览!PCBA需要刷三防漆,如何制作治工具?
  9. ubuntu 20.04安装输入法,微信,QQ,亲测使用很方便。
  10. 支付行业PCI DSS 3.0学习概述
  11. 训练GAN的16个trick
  12. solr使用shards提示403
  13. 信息安全数学基础-期中复习提纲
  14. Arduino Mega2560引脚说明以及功能剖析
  15. 根据日期计算属于第几周(周日是一周的第一天)
  16. 【XSY2689】王子 - 网络流
  17. 用python发送put请求
  18. Windows下cmd(命令提示符)中的复制粘贴操作
  19. 批量下载凡客诚品的图片
  20. GitHub 项目被爆 刷 Star!阿里这波又摊上事了...

热门文章

  1. Tomcat报错 严重: A child container failed during start
  2. linux c++ 输出到终端,如何将彩色文本输出到Linux终端?
  3. 【CSP201312-4】有趣的数(数位DP)
  4. 【NOIP2008】【Vijos1493】传纸条
  5. mysql 插入多行_MySQL使用INSERT插入多条记录
  6. python写电商网站框架_Python学员感言:电商项目要先把框架搭起来
  7. mysql优化教程_Mysql优化一
  8. 第七章节 类的抽象(抽象类和接口的区别)
  9. 为什么C++构造函数不能是虚函数
  10. 常见危险函数及特殊函数(一)