[转载] Python---函数式编程(map()、filter()和reduce())总结
参考链接: 带有示例的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())总结相关推荐
- python的映射_Python学习:映射函数(map)和函数式编程工具(filter和reduce)
在序列中映射函数map map函数会对一个序列对象中的每一个元素应用被传入的函数,并且返回一个包含了所有函数调用结果的一个列表. 例1:def sum(x): return x + 10 L1 = [ ...
- Python函数式编程——map()、reduce()
提起map和reduce想必大家并不陌生,Google公司2003年提出了一个名为MapReduce的编程模型[1],用于处理大规模海量数据,并在之后广泛的应用于Google的各项应用中,2006年A ...
- Python 函数式编程Map、Reduce
在函数式语言里,map表示对一个列表(List)中的每个元素做计算,reduce表示对一个列表中的每个元素做迭代计算.它们具体的计算是通过传入的函数来实现的,map和reduce提供的是计算的框架. ...
- Python函数式编程-map/reduce
1.map map()传入的第一个参数是f,即函数对象本身. map()函数接收两个参数,一个是函数,一个是Interable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterat ...
- Python函数式编程:map/reduce
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作为一种抽象程度极高的编程范式,函数式编程的最大特点就是允许函数本 ...
- Python Map, Filter and Reduce
所属网站分类: python基础 > 函数 作者:慧雅 原文链接: http://www.pythonheidong.com/blog/article/21/ 来源:python黑洞网 www. ...
- Python 函数式编程,从入门到放弃
很早以前就听说过了函数式编程,印象中是一种很晦涩难懂的编程模式,但却一直没有去进行了解. 恰好这周组内的周会轮到我主持,一时也没想到要分享什么.灵光一闪,就选定函数式编程这个主题吧,反正组里的同事都没 ...
- 函数式编程语言python-10分钟学会python函数式编程
原标题:10分钟学会python函数式编程 在这篇文章里,你将学会什么是函数范式以及如何使用Python进行函数式编程.你也将了解列表推导和其它形式的推导. 函数范式 在命令式范式中,通过为计算机提供 ...
- Python 函数式编程指北,不只是面向对象哦
了解在Python中如何使用 lambda, map, filter 和 reduce 函数来转换数据结构 Photo by Markus Spiske on Unsplash 面向对象的编程通过封装 ...
- python函数式编程读取数据-python学习笔记9:函数式编程
函数式编程(FunctionalProgramming) 基于lambda演算的一种编程方式 程序中只有函数 函数可以作为参数,同样可以作为返回值 纯函数式编程语言: LISP, Haskell Py ...
最新文章
- iMeta | 宏基因组生物信息期刊-创刊背景和简介
- mysql语句的左外链接_MySQL中的JOIN连接
- 大连工业大学艺术学院计算机考试,大连工业大学艺术与信息工程学院应用科技学院...
- 解决nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
- Python装饰器几个有用又好玩的例子
- mysqld已删除但仍占用空间的_U盘删除的文件在哪?
- 正则表达式:基础知识学习
- 速览!PCBA需要刷三防漆,如何制作治工具?
- ubuntu 20.04安装输入法,微信,QQ,亲测使用很方便。
- 支付行业PCI DSS 3.0学习概述
- 训练GAN的16个trick
- solr使用shards提示403
- 信息安全数学基础-期中复习提纲
- Arduino Mega2560引脚说明以及功能剖析
- 根据日期计算属于第几周(周日是一周的第一天)
- 【XSY2689】王子 - 网络流
- 用python发送put请求
- Windows下cmd(命令提示符)中的复制粘贴操作
- 批量下载凡客诚品的图片
- GitHub 项目被爆 刷 Star!阿里这波又摊上事了...
热门文章
- Tomcat报错 严重: A child container failed during start
- linux c++ 输出到终端,如何将彩色文本输出到Linux终端?
- 【CSP201312-4】有趣的数(数位DP)
- 【NOIP2008】【Vijos1493】传纸条
- mysql 插入多行_MySQL使用INSERT插入多条记录
- python写电商网站框架_Python学员感言:电商项目要先把框架搭起来
- mysql优化教程_Mysql优化一
- 第七章节 类的抽象(抽象类和接口的区别)
- 为什么C++构造函数不能是虚函数
- 常见危险函数及特殊函数(一)