Python reduce()函数的用法小结
简介
Python reduce()
函数是一个在 functools 模块中的高阶函数,它将一个操作函数作用在一个可迭代的对象上,返回一个最终结果。由于在 Python3 中将其从内置函数移到 functools 中,因此在使用前需要先导入该模块,示例为
from functools import reduce
语法
reduce()
函数语法如下:
reduce(function, iterable[, initializer])
function
为操作函数,可以是任何可调用的对象,该函数应该接受两个参数,用于处理 iterable
中的元素;
iterable
(可迭代对象) 为一个序列,支持迭代器的对象,如list、tuple、set、dict、string等;
initializer
(可选) 为初始值,在 iterable
中的第一个元素被传递到 function
之前会先传递 initializer
。如果使用 initializer
则 reduce()
将返回初始值类型,否则 reduce()
根据 function
的返回值确定返回类型。
示例
求和
下面的代码示例展示了如何使用 reduce()
函数计算列表中所有元素的和:
from functools import reduce
def add(x, y):
return x + y
my_list = [1, 2, 3, 4]
result = reduce(add, my_list)
print(result) # 输出10
数组求积
下面的代码示例展示了如何使用 reduce()
函数计算列表中所有元素的积:
from functools import reduce
def multiply(x, y):
return x * y
my_list = [1, 2, 3, 4]
result = reduce(multiply, my_list)
print(result) # 输出24
更多示例
更多 reduce()
函数的例子可以在 Python 文档中找到,如求平均、列表拼接等。在使用 reduce()
函数时,需要注意 function
函数的参数和返回值类型,并且要对初始值 initializer
进行处理。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python reduce()函数的用法小结 - Python技术站