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 相关文章推荐
打开电脑上的QQ的python代码
Feb 10 Python
python获得两个数组交集、并集、差集的方法
Mar 27 Python
python中星号变量的几种特殊用法
Sep 07 Python
详解python中requirements.txt的一切
Mar 03 Python
python多维数组切片方法
Apr 13 Python
numpy 计算两个数组重复程度的方法
Nov 07 Python
python批量从es取数据的方法(文档数超过10000)
Dec 27 Python
利用python脚本如何简化jar操作命令
Feb 24 Python
Python操作Sonqube API获取检测结果并打印过程解析
Nov 27 Python
Python实现汇率转换操作
May 03 Python
Keras多线程机制与flask多线程冲突的解决方案
May 28 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 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
mysql limit查询优化分析
2008/11/12 PHP
PHP+ajax 无刷新删除数据
2010/02/20 PHP
Session服务器配置指南与使用经验的深入解析
2013/06/17 PHP
完善CodeIgniter在IDE中代码提示功能的方法
2014/07/19 PHP
详谈PHP文件目录基础操作
2014/11/11 PHP
PHP 7.0新增加的特性介绍
2017/06/08 PHP
PHP echo()函数讲解
2019/02/15 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
jQuery弹出(alert)select选择的值
2013/04/21 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
JavaScript实现级联菜单的方法
2015/06/29 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
2016/12/27 Javascript
基于jQuery实现的单行公告活动轮播效果
2017/08/23 jQuery
vue之浏览器存储方法封装实例
2018/03/15 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
2018/04/21 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
[16:27]DOTA2 HEROS教学视频教你分分钟做大人-艾欧
2014/06/11 DOTA
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
TensorFlow实现卷积神经网络
2018/05/24 Python
Python+OpenCv制作证件图片生成器的操作方法
2019/08/21 Python
Mac中PyCharm配置Anaconda环境的方法
2020/03/04 Python
详解python如何引用包package
2020/06/07 Python
python自动从arxiv下载paper的示例代码
2020/12/05 Python
HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
2012/12/13 HTML / CSS
Nike法国官方网站:Nike.com FR
2018/07/22 全球购物
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
数控专业大学生的自我鉴定
2013/11/13 职场文书
母亲节感恩寄语
2014/02/21 职场文书
综合实践活动总结
2014/05/05 职场文书
拾金不昧表扬稿
2015/01/16 职场文书
公司经营目标责任书
2015/01/29 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
安全教育主题班会总结
2015/08/14 职场文书