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抓取网页正文的源码
Jun 11 Python
python中bisect模块用法实例
Sep 25 Python
Python二维码生成库qrcode安装和使用示例
Dec 16 Python
python基于隐马尔可夫模型实现中文拼音输入
Apr 01 Python
python中单例常用的几种实现方法总结
Oct 13 Python
解决Python下json.loads()中文字符出错的问题
Dec 19 Python
如何更优雅地写python代码
Jul 02 Python
python3 mmh3安装及使用方法
Oct 09 Python
在OpenCV里使用Camshift算法的实现
Nov 22 Python
为什么黑客都用python(123个黑客必备的Python工具)
Jan 31 Python
tensorflow之变量初始化(tf.Variable)使用详解
Feb 06 Python
Python调用C/C++的方法解析
Aug 05 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
用户的详细注册和判断
2006/10/09 PHP
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
2013/06/18 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
2014/10/20 PHP
用javascript实现无刷新更新数据的详细步骤 asp
2006/12/26 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
JS 获取浏览器和屏幕宽高等信息的实现思路及代码
2013/07/31 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
jQuery easyui刷新当前tabs的方法
2016/09/23 Javascript
Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
2017/03/21 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
基于jquery的on和click的区别详解
2018/01/15 jQuery
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
跟老齐学Python之print详解
2014/09/28 Python
python通过imaplib模块读取gmail里邮件的方法
2015/05/08 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
Python使用Tkinter实现机器人走迷宫
2018/01/22 Python
Python对CSV、Excel、txt、dat文件的处理
2018/09/18 Python
谈谈Python中的while循环语句
2019/03/10 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
2020/08/07 Python
Pytorch实现WGAN用于动漫头像生成
2021/03/04 Python
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
英国最大的高品质珠宝和手表专家:Goldsmiths
2017/03/11 全球购物
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
罗马尼亚在线杂货店:Pilulka.ro
2019/09/28 全球购物
投资意向书范本
2014/04/01 职场文书
2015年学校食堂工作总结
2015/04/22 职场文书
详解Python如何批量采集京东商品数据流程
2022/01/22 Python