python中的reduce函数

Posted cnhkzyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的reduce函数相关的知识,希望对你有一定的参考价值。

语法

在python3中,内置函数中已经没有reduce了。要使用reduce,需要从functools模块里引入

可以看到,reduce有三个参数,第一个是函数function,第二个是序列sequence,第三个是initial,为初始值,默认为None

作用

对序列中的元素进行累积

返回值

返回函数的计算结果

例子

from functools import reduce
from functools import reduce

def add(x, y):
    return x + y

print(reduce(add, [1, 2, 3, 4, 5]))  #计算过程 ((((1 + 2) + 3) + 4) + 5)


# 运行结果
15

在reduce中使用lambda函数

from functools import reduce

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


# 运行结果
15

有初始值的情况,初始值为6

from functools import reduce

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

# 运行结果
21

#计算过程
6 + 1 = 7
7 + 2 = 9
9 + 3 = 12
12 + 4 = 16
16+ 5 = 21

参考文章

《Python reduce() 函数》
《Python笔记|Python3中没有reduce函数的原因》
《PYTHON3中REDUCE函数的使用》

以上是关于python中的reduce函数的主要内容,如果未能解决你的问题,请参考以下文章

python进阶一(函数式编程)2-3 python中的reduce函数

python 中的高级函数reduce()

python中的reduce函数

Python reduce() 函数

12-python基础—python3中的reduce()

js数组高阶方法reduce经典用法代码分享