reduce() 函数会对参数序列中元素进行累积,下面这篇文章主要给大家介绍了关于python中reduce()函数的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
前言

本文主要给大家介绍了关于python中reduce()函数使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:

reduce()函数在库functools里,如果要使用它,要从这个库里导入。reduce函数与map函数有不一样地方,map操作是并行操作,reduce函数是把多个参数合并的操作,也就是从多个条件简化的结果,在计算机的算法里,大多数情况下,就是为了简单化。比如识别图像是否是一只猫,那么就是从众多的像素里提炼出来一个判断:是或否。可能是几百万个像素,就只出来一个结果。在GOOGLE大规模集群里,就是利用这个思想,把前面并行处理的操作叫做map,并行处理之后的结果,就需要简化,归类,把这个简化和归类的过程就叫做reduce。由于reduce只能在一台主机上操作,并不能分布式地处理,但是reduce处理的是map结果,那么意味着这些结果已经非常简单,数据量大大减小,处理起来就非常快。

因此可以把mapreduce过程叫做分析归纳的过程。

看一下面reduce()的例子:

1
2
3
4
5
6
7
8
#python 3. 6
#蔡军生
#
from functools import reduce
  
result = reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])
print(result)

输出结果:

15

在这个例子里,其实计算过程是这样的:

((((1+2)+3)+4)+5)

再看一个阶乘的例子:

1
2
3
4
5
6
7
8
#python 3. 6
#蔡军生
#
from functools import reduce
  
n = 3
print(reduce(lambda x, y: x * y, range(1, n + 1))) # 6

输出结果:

6

reduce函数,reduce函数会对参数序列中元素进行累积。

reduce函数的定义:

1
reduce(function, sequence[, initial]) -> value

function参数是一个有两个参数的函数,reduce依次从sequence中取一个元素,和上一次调用function的结果做参数再次调用function。

第一次调用function时,如果提供initial参数,会以sequence中的第一个元素和initial作为参数调用function,否则会以序列sequence中的前两个元素做参数调用function。

1
reduce(lambda x, y: x + y, [2, 3, 4, 5, 6], 1)

结果为21(  (((((1+2)+3)+4)+5)+6)  )

1
reduce(lambda x, y: x + y, [2, 3, 4, 5, 6])

结果为20

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

原文:http://www.jb51.net/article/124906.htm

python3中reduce()函数的使用方法示例的更多相关文章

  1. 用python实现矩阵转置,python3 中zip()函数

    前几天群里有同学提出了一个问题:手头现在有个列表,列表里面两个元素,比如[1, 2],之后不断的添加新的列表,往原来相应位置添加.例如添加[3, 4]使原列表扩充为[[1, 3], [2, 4]],再 ...

  2. Excel中choose函数的使用方法

    你还在为Excel中choose函数的使用方法而苦恼吗,今天小编教你Excel中choose函数的使用方法,让你告别Excel中choose函数的使用方法的烦恼. 经验主要从四方面对Excel函数进行 ...

  3. Excel中Sumproduct函数的使用方法

    1.sumproduct函数的含义 1 1.Sumproduct函数的适用范围,在给定的几组数组中,然后把数组间对应的元素相乘,最后返回乘积之和. 从字面上可以看出,sumproduct有两个英文单词 ...

  4. Excel中concatenate函数的使用方法

    你还在为Excel中concatenate函数的使用方法而苦恼吗,今天小编教你Excel中concatenate函数的使用方法,让你告别Excel中concatenate函数的使用方法的烦恼. 经验主 ...

  5. Excel中countif函数的使用方法

    1.countif函数的含义 在指定区域中按指定条件对单元格进行计数(单条件计数) 建议和countifs函数结合起来学习,可以观看小编的经验Excel中countifs函数的使用方法. END 2. ...

  6. python的reduce函数的使用方法详解以及使用案例,相加,相乘(处理一个序列,然后把序列进程合并操作)

    1.求列表的数字相加之和,还是之前的习惯,写for循环来实现 num_1=[1,2,3,4,5,6,7,8,9] a=0 for n in num_1: #a=a+n a+=n print (a) C ...

  7. es6中reduce()方法和reduceRight()方法

    es6中reduce()方法从左往右开始 参数:prev:它是上一次调用回调时返回的结果,每次调用的结果都会给prev cur:当前的元素 index:当前的索引 arr:循环的数组 返回值:函数累计 ...

  8. Python3中reduce和lambda的用法

    reduce() 函数将一个数据集合(iterable[, initializer])可以看出是包含了初始化数据的,且初始化数据位列第1位,即集合中的第1个元素)中的所有数据进行下列操作:先对集合中的 ...

  9. [翻译]python3中新的字符串格式化方法-----f-string

    从python3.6开始,引入了新的字符串格式化方式,f-字符串. 这使得格式化字符串变得可读性更高,更简洁,更不容易出现错误而且速度也更快. 在本文后面,会详细介绍f-字符串的用法. 在此之前,让我 ...

随机推荐

  1. MySQL错误代码

    常见: 1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致删除数据库失败 1010:不能删 ...

  2. C高级第三次作业(1)

    6-1 输出月份英文名 1.设计思路: 1.定义一个字符串数组将12个月的英文加进去: 2.判断输入的数是否大于等于1小于等于12: 3.若是 则返还s[n-1]; 4.否则返还NULL: 源代码: ...

  3. I.MX6 OTG set as slave device hacking

    /****************************************************************************** * IMX6 OTG set as sl ...

  4. Robot Framework 安装笔记

    安装python 自行搜寻安装 安装pip 进入python目录下的Scripts文件夹下,cmd,执行easy_install.exe pip 安装pywin32 pip install pywin ...

  5. BZOJ5340: [Ctsc2018]假面【概率+期望】【思维】

    LINK 思路 首先考虑减血,直接一个dp做过去,这个部分分不难拿 然后是\(op=1\)的部分 首先因为要知道每个人被打的概率,所以需要算出这个人活着的时候有多少个人活着时概率是什么 那么用\(g_ ...

  6. 《DSP using MATLAB》Problem 4.4

  7. hdu1080 DP(类最长公共子序列)

    题意,有两个字符串,分别由四个字母构成,字母之间有不同的相似度,允许在两个字符串都按原顺序排列的情况下进行字母与字母之间的匹配,也可以让字母与空格匹配,即相当于在字符串中间加空格来一一匹配,每个字母与 ...

  8. js 时间操作积累

    console.log( new Date() ); //Tue Mar 20 2018 22:47:01 GMT+0800 (中国标准时间) // var date = new Date( '201 ...

  9. ballerina 学习 三十二 编写安全的程序

      ballerina编译器已经集成了部分安全检测,在编译时可以帮助我们生成错误提示,同时ballerina 标准库 已经对于常见漏洞高发的地方做了很好的处理,当我们编写了有安全隐患的代码,编译器就已 ...

  10. Javascript 正则验证带 + 号的邮箱地址

    很多邮箱地址是可以加上 + 加号为同一个邮箱地址. 比如 Gmail. 如果需要验证带 + 号的邮箱,如下: str = "65485+55@gmail.com"; documen ...