Python中reduce函数用于迭代对象的累操作
在 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环境下测试通过
相关文章