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 相关文章推荐
windows下Python实现将pdf文件转化为png格式图片的方法
Jul 21 Python
Django Admin实现三级联动的示例代码(省市区)
Jun 22 Python
python gensim使用word2vec词向量处理中文语料的方法
Jul 05 Python
python Web flask 视图内容和模板实现代码
Aug 23 Python
python智联招聘爬虫并导入到excel代码实例
Sep 09 Python
python 定义类时,实现内部方法的互相调用
Dec 25 Python
浅谈Python访问MySQL的正确姿势
Jan 07 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
Apr 22 Python
python批量修改交换机密码的示例
Sep 22 Python
python中os.remove()用法及注意事项
Jan 31 Python
深入理解python多线程编程
Apr 18 Python
Python序列化与反序列化相关知识总结
Jun 08 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
PHP5中虚函数的实现方法分享
2011/04/20 PHP
PHP中文编码小技巧
2014/12/25 PHP
php的ddos攻击解决方法
2015/01/08 PHP
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
详解WordPress开发中的get_post与get_posts函数使用
2016/01/04 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
JS中的form.submit()不能提交表单的错误原因
2014/10/08 Javascript
JavaScript中constructor()方法的使用简介
2015/06/05 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
轻松搞定jQuery.noConflict()
2016/02/15 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
Vue2.0实现购物车功能
2017/06/05 Javascript
BootStrap Fileinput上传插件使用实例代码
2017/07/28 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
2018/11/14 Javascript
vue文件运行的方法教学
2019/02/12 Javascript
详解小程序开发经验:多页面数据同步
2019/05/18 Javascript
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
[43:32]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Numpy数组的保存与读取方法
2018/04/04 Python
python:pandas合并csv文件的方法(图书数据集成)
2018/04/12 Python
Python实现针对给定单链表删除指定节点的方法
2018/04/12 Python
python 随机生成10位数密码的实现代码
2019/06/27 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
2020/03/10 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
2020/06/01 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
使用Python webdriver图书馆抢座自动预约的正确方法
2021/03/04 Python
uniapp+Html5端实现PC端适配
2020/07/15 HTML / CSS
技校生自我鉴定
2013/12/08 职场文书
2014年银行工作总结范文
2014/11/12 职场文书
2014年效能监察工作总结
2014/11/21 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python
一些让Python代码简洁的实用技巧总结
2021/08/23 Python
SpringBoot+Redis实现布隆过滤器的示例代码
2022/03/17 Java/Android