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之禅》中对于Python编程过程中的一些建议
Apr 03 Python
对于Python的Django框架部署的一些建议
Apr 09 Python
python创建临时文件夹的方法
Jul 06 Python
利用numpy实现一、二维数组的拼接简单代码示例
Dec 15 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
Apr 12 Python
Python 200行代码实现一个滑动验证码过程详解
Jul 11 Python
深入了解Python iter() 方法的用法
Jul 11 Python
flask框架路由常用定义方式总结
Jul 23 Python
Django ModelForm操作及验证方式
Mar 30 Python
使用tensorflow进行音乐类型的分类
Aug 14 Python
python实现ping命令小程序
Dec 28 Python
全网最详细的PyCharm+Anaconda的安装过程图解
Jan 25 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
在Zeus Web Server中安装PHP语言支持
2006/10/09 PHP
PHP 和 XML: 使用expat函数(一)
2006/10/09 PHP
PHP读取文件内容后清空文件示例代码
2014/03/18 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
2016/09/11 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
FF IE兼容性的修改小结
2009/09/02 Javascript
js 蒙版进度条(结合图片)
2010/03/10 Javascript
ajax与302响应代码测试
2013/10/23 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
完美解决node.js中使用https请求报CERT_UNTRUSTED的问题
2017/01/08 Javascript
Bootstrap如何激活导航状态
2017/03/22 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
Vue3.0数据响应式原理详解
2019/10/09 Javascript
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
快速入门python学习笔记
2017/12/06 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
python求加权平均值的实例(附纯python写法)
2019/08/22 Python
复古风格的女装和装饰品:ModCloth
2017/12/29 全球购物
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
2014/04/28 面试题
中专毕业生求职简历的自我评价
2013/10/21 职场文书
招聘单位介绍信
2014/01/14 职场文书
产品开发计划书
2014/04/27 职场文书
计算机专业求职信
2014/06/02 职场文书
小学生毕业评语
2014/12/26 职场文书
经验交流材料格式
2014/12/30 职场文书
《植物妈妈有办法》教学反思
2016/02/23 职场文书
Goland使用Go Modules创建/管理项目的操作
2021/05/06 Golang
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers
Django使用echarts进行可视化展示的实践
2021/06/10 Python
《我的美好婚事》动画化决定纪念插画与先导PV公开
2022/04/06 日漫