python中reduce()函数的使用方法示例


Posted in Python onSeptember 29, 2017

前言

本文主要给大家介绍了关于python中reduce()函数使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:

reduce()函数在库functools里,如果要使用它,要从这个库里导入。reduce函数与map函数有不一样地方,map操作是并行操作,reduce函数是把多个参数合并的操作,也就是从多个条件简化的结果,在计算机的算法里,大多数情况下,就是为了简单化。比如识别图像是否是一只猫,那么就是从众多的像素里提炼出来一个判断:是或否。可能是几百万个像素,就只出来一个结果。在GOOGLE大规模集群里,就是利用这个思想,把前面并行处理的操作叫做map,并行处理之后的结果,就需要简化,归类,把这个简化和归类的过程就叫做reduce。由于reduce只能在一台主机上操作,并不能分布式地处理,但是reduce处理的是map结果,那么意味着这些结果已经非常简单,数据量大大减小,处理起来就非常快。

因此可以把mapreduce过程叫做分析归纳的过程。

看一下面reduce()的例子:

#python 3. 6 
#蔡军生 
#http://blog.csdn.net/caimouse/article/details/51749579 
# 
from functools import reduce 
 
result = reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) 
print(result)

输出结果:

15

在这个例子里,其实计算过程是这样的:

((((1+2)+3)+4)+5)

python中reduce()函数的使用方法示例

再看一个阶乘的例子:

#python 3. 6 
#蔡军生 
#http://blog.csdn.net/caimouse/article/details/51749579 
# 
from functools import reduce 
 
n = 3 
print(reduce(lambda x, y: x * y, range(1, n + 1))) # 6

输出结果:

6

reduce函数,reduce函数会对参数序列中元素进行累积。

reduce函数的定义:

reduce(function, sequence[, initial]) -> value

function参数是一个有两个参数的函数,reduce依次从sequence中取一个元素,和上一次调用function的结果做参数再次调用function。

第一次调用function时,如果提供initial参数,会以sequence中的第一个元素和initial作为参数调用function,否则会以序列sequence中的前两个元素做参数调用function。

reduce(lambda x, y: x + y, [2, 3, 4, 5, 6], 1)

结果为21(  (((((1+2)+3)+4)+5)+6)  )

reduce(lambda x, y: x + y, [2, 3, 4, 5, 6])

结果为20

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python列表操作实例
Jan 14 Python
python实现两个文件合并功能
Apr 01 Python
Python函数返回不定数量的值方法
Jan 22 Python
python3使用matplotlib绘制散点图
Mar 19 Python
python写日志文件操作类与应用示例
Jul 01 Python
Python编程实现tail-n查看日志文件的方法
Jul 08 Python
python实现字符串完美拆分split()的方法
Jul 16 Python
Python整数与Numpy数据溢出问题解决
Sep 11 Python
python实现差分隐私Laplace机制详解
Nov 25 Python
Python求平面内点到直线距离的实现
Jan 19 Python
Python class的继承方法代码实例
Feb 14 Python
pyspark对Mysql数据库进行读写的实现
Dec 30 Python
Django Admin 实现外键过滤的方法
Sep 29 #Python
python 调用c语言函数的方法
Sep 29 #Python
python文件名和文件路径操作实例
Sep 29 #Python
Python 实现简单的shell sed替换功能(实例讲解)
Sep 29 #Python
Python 基础教程之闭包的使用方法
Sep 29 #Python
python下实现二叉堆以及堆排序的示例
Sep 29 #Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
Sep 28 #Python
You might like
php中$this->含义分析
2009/11/29 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
2014/11/20 PHP
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
PHP图像处理类库MagickWand用法实例分析
2015/05/21 PHP
php pthreads多线程的安装与使用
2016/01/19 PHP
微信支付开发订单查询实例
2016/07/12 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
如何通过Apache在本地配置多个虚拟主机
2020/07/29 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
2020/11/23 PHP
利用JS进行图片的切换即特效展示图片
2013/12/03 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
2017/08/17 Javascript
微信小程序实现表单校验功能
2020/03/30 Javascript
BootStrap自定义popover,点击区域隐藏功能的实现
2018/01/23 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
vue 实现在函数中触发路由跳转的示例
2018/09/01 Javascript
浅析vue插槽和作用域插槽的理解
2019/04/22 Javascript
layer.open弹层查看缩略图的原图,自适应大小的实例
2019/09/05 Javascript
vue项目在线上服务器访问失败原因分析
2020/08/14 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
python回调函数用法实例分析
2015/05/09 Python
python+pyqt实现12306图片验证效果
2017/10/25 Python
Python分析学校四六级过关情况
2017/11/22 Python
opencv实现图片模糊和锐化操作
2018/11/19 Python
python 对多个csv文件分别进行处理的方法
2019/01/07 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
python3获取url文件大小示例代码
2019/09/18 Python
python爬虫模拟浏览器的两种方法实例分析
2019/12/09 Python
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
2015年小班保育员工作总结
2015/05/27 职场文书
污染环境建议书
2015/09/14 职场文书
拔河比赛队名及霸气口号
2015/12/24 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL