赞
赏
Python 中的 reduce() 函数是对传入的 参数 序列中的每一个元素进行累积操作。
在 Python2 中,reduce 函数可以直接使用,在 Python3 中,reduce 函数使用之前需要使用 from functools import reduce
语句导入包。
Python 中的 reduce() 函数 将一个数据集合中的所有数据进行下列操作:
reduce(function, iterable[, initializer])
参数 | 描述 |
---|---|
function | 我们需要传入的函数,这个函数可以是内置的,也可以是自己定义,或者是 匿名函数,该函数有两个参数。 |
iterable | 一个可迭代对象,如 列表,字符串,元祖,字典 等等。 |
initializer | 可选参数,初始参数。 |
对 iterable 里的每个元素做累积处理,处理完毕后返回。
Python reduce 函数过滤元素
from functools import reduce
print("嗨客网(www.haicoder.net)")
def add(num1, num2):
return num1 + num2
reduce_res = reduce(add, [1, 2, 3, 4, 5, 6])
print("reduce_res =", reduce_res)
程序运行后,控制台输出如下:
首先,我们定义了一个函数 add,该函数传入两个参数,该函数实现的功能是求传入的两个参数的和。 接着,我们使用 reduce 函数,第一个参数传入了自定义的 add 函数,第二个参数传入了一个列表,列表中有六个元素。
最后,我们使用 变量 reduce_res 来接受 reduce 函数对列表每个元素累积后的返回值,我们发现,最终输出了我们传入的列表中的所有元素的和。
Python reduce 函数可以使用 lambda 表达式
from functools import reduce
print("嗨客网(www.haicoder.net)")
reduce_res = reduce(lambda x, y: x+y, [1, 2, 3, 4, 5, 6])
print("reduce_res =", reduce_res)
程序运行后,控制台输出如下:
我们使用 reduce 加上 lambda 表达式同样实现了求传入的列表中的所有的元素的和的功能。
Python 中的 reduce() 函数是对传入的参数序列中的每一个元素进行累积操作。在 Python2 中,reduce 函数可以直接使用。
在 Python3 中,reduce 函数使用之前需要使用 from functools import reduce
语句导入包。Python reduce 函数语法:
reduce(function, iterable[, initializer])