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获取服务器信息的最简单实现方法
Mar 05 Python
Python制作Windows系统服务
Mar 25 Python
python3监控CentOS磁盘空间脚本
Jun 21 Python
可能是最全面的 Python 字符串拼接总结【收藏】
Jul 09 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
Oct 22 Python
scrapy-redis源码分析之发送POST请求详解
May 15 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
Python OpenCV之图片缩放的实现(cv2.resize)
Jun 28 Python
Python with用法:自动关闭文件进程
Jul 10 Python
Pytorch Tensor的索引与切片例子
Aug 18 Python
python中threading开启关闭线程操作
May 02 Python
pyqt5打包成exe可执行文件的方法
May 14 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 HtmlReplace输入过滤安全函数
2010/07/03 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
2016/05/07 PHP
php实现当前页面点击下载文件的简单方法
2016/09/22 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
2019/10/16 PHP
JavaScript 组件之旅(一)分析和设计
2009/10/28 Javascript
js的alert样式如何更改如背景颜色
2014/01/22 Javascript
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
JavaScript中日期的相关操作方法总结
2015/10/24 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
JavaScript订单操作小程序完整版
2017/06/23 Javascript
Angular2 自定义validators的实现方法
2017/07/05 Javascript
详解IWinter 一个路由转控制器的 Nodejs 库
2017/11/15 NodeJs
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
用Python输出一个杨辉三角的例子
2014/06/13 Python
Python模仿POST提交HTTP数据及使用Cookie值的方法
2014/11/10 Python
Python 编码Basic Auth使用方法简单实例
2017/05/25 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
Python数据拟合与广义线性回归算法学习
2017/12/22 Python
Python各种扩展名区别点整理
2020/02/27 Python
Python3标准库之threading进程中管理并发操作方法
2020/03/30 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
求职信模版
2013/11/30 职场文书
受欢迎的大学生自我评价
2013/12/05 职场文书
自荐信如何制作?
2014/02/21 职场文书
学生党员的自我评价范文
2014/03/01 职场文书
聚美优品恶搞广告词
2014/03/14 职场文书
英语课外活动总结
2014/08/27 职场文书
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
垂直极限观后感
2015/06/08 职场文书
2019单位介绍信怎么写
2019/06/24 职场文书
阿里云Nginx配置https实现域名访问项目(图文教程)
2021/03/31 Servers
SQL写法--行行比较
2021/08/23 SQL Server