当前位置: 代码迷 >> 综合 >> Python标准库模块functools:reduce()函数
  详细解决方案

Python标准库模块functools:reduce()函数

热度:58   发布时间:2023-11-22 10:26:12.0

文章目录

  • 一、Python标准库模块functools:reduce()函数
  • 二、举例说明
    •     1.第一种情况:不带初始参数
    •     2.第二种情况:带初始参数


一、Python标准库模块functools:reduce()函数

       reduce()函数在Python的标准库模块functools中,其基本语法如下:

reduce(function,sequence[,initializer])
function:函数,有两个形参
sequence:序列对象
initializer:可选,初始参数

二、举例说明

    1.第一种情况:不带初始参数

       当没有初始参数时,reduce()函数形式为:

reduce(function,sequence)
先将sequence的第一、二个元素作为function函数的第一、二个参数进行function函数运算,然后将得到的返回结果作为下一次function函数的第一个参数和序列sequence的第三个元素作为function的第二个参数进行function函数运算,依次进行下去直到sequence中的所有元素都得到处理。

       代码如下(示例):

from functools import reducedef add(x,y):return x+ya = reduce(add, [1, 2, 3, 4, 5])    #计算列表和
print(a)

       结果如下(示例):
15

    2.第二种情况:带初始参数

       当有初始参数时,reduce()函数形式为:

reduce(function,sequence,initializer)
先将初始参数和sequence的第一个元素作为function函数的第一、二个参数进行function函数运算,然后将得到的返回结果作为下一次function函数的第一个参数和序列sequence的第二个元素作为function的第二个参数进行function函数运算,依次进行下去直到sequence中的所有元素都得到处理。

       代码如下(示例):

from functools import reducea = reduce(lambda x, y: x + y, [2, 3, 4, 5, 6], 1)
print(a)

       结果如下(示例):
21