Python中reduce函数用于迭代对象的累操作

2022-03-11 00:00:00 函数 对象 用于

在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 functools 模块里,如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数,reduce函数会对参数序列中元素进行累积,皮蛋编程实测了几个范例供大家参考:

"""
作者:皮蛋编程(https://www.pidancode.com)
创建日期:2022/3/18
修改日期:2022/3/18
功能描述:Python中reduce函数用于迭代对象的累操作
"""
from functools import reduce


def myfunction(a, b):
    return a * b

mylist = [1, 2, 3, 4, 5]
print(reduce(myfunction, mylist))

以上代码对mylist列表中的值进行累积乘法,输出结果:120

上面的代码相当于:

print(((((1 * 2) * 3) * 4) * 5))

也可以直接使用操作符模块来替代函数

import operator

mylist = [1, 2, 3, 4, 5]
# 列表中的所有元素相乘
print(reduce(operator.mul, mylist))
# 列表中的所有元素相加
print(reduce(operator.add, mylist))

输出结果为:
120
15

以上代码在Python3.9环境下测试通过

相关文章