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脚本实现查找webshell的方法
Jul 31 Python
在CentOS6上安装Python2.7的解决方法
Jan 09 Python
python pandas 组内排序、单组排序、标号的实例
Apr 12 Python
Python3内置模块之json编解码方法小结【推荐】
Dec 09 Python
python实现快递价格查询系统
Mar 03 Python
Python中无限循环需要什么条件
May 27 Python
Python 使用双重循环打印图形菱形操作
Aug 09 Python
Anaconda使用IDLE的实现示例
Sep 23 Python
python 用递归实现通用爬虫解析器
Apr 16 Python
Python中的 Set 与 dict
Mar 13 Python
Python中Matplotlib的点、线形状、颜色以及绘制散点图
Apr 07 Python
Python中npy和mat文件的保存与读取
Apr 24 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
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
2014/04/25 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
php微信公众号开发之翻页查询
2018/10/20 PHP
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
js实现遮罩层划出效果是生成div而不是显示
2014/07/29 Javascript
JavaScript实现twitter puddles算法实例
2014/12/06 Javascript
jQuery简单实现验证邮箱格式
2015/07/15 Javascript
JS控制文本域只读或可写属性的方法
2016/06/24 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
vue 指令之气泡提示效果的实现代码
2018/10/18 Javascript
vue接入腾讯防水墙代码
2019/05/07 Javascript
Javascript数组方法reduce的妙用之处分享
2019/06/10 Javascript
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
python del()函数用法
2013/03/24 Python
python根据开头和结尾字符串获取中间字符串的方法
2015/03/26 Python
Python中实现对Timestamp和Datetime及UTC时间之间的转换
2015/04/08 Python
pandas数据处理进阶详解
2019/10/11 Python
OpenCV python sklearn随机超参数搜索的实现
2020/01/17 Python
Pycharm最常用的快捷键及使用技巧
2020/03/05 Python
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
乡镇干部先进事迹材料
2014/02/03 职场文书
民族团结先进集体事迹材料
2014/05/22 职场文书
局领导领导班子四风对照检查材料
2014/09/27 职场文书
企业战略合作意向书
2015/05/08 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
2015年度高中教师工作总结
2015/05/26 职场文书
北京青年观后感
2015/06/15 职场文书
导游词之徐州云龙湖
2019/11/19 职场文书
vue3种table表格选项个数的控制方法
2022/04/14 Vue.js