reduce() 函数会对参数序列中元素进行累积。
函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。
from functools import reduce
num_calc = [1,2,3,100]
res = 0
for num in num_calc:
res+=num
print(res)
#106
#--------------------------------------------------------
num_calc = [1,2,3,100]
def reduce_test(array):
res = 0
for num in array:
res+=num
return res
print(reduce_test(num_calc))
#106
#--------------------------------------------------------
num_calc = [1,2,3,100]
def multi(x,y):
lambda x,y:x*y
def reduce_test(func,array):
res = array.pop(0)
for num_calc in array:
res = func(res,num_calc)
return res
print(reduce_test(lambda x,y:x*y,num_calc))
#600
#--------------------------------------------------------
#reduce函数
from functools import reduce
num_calc = [1,2,3,100]
print(reduce(lambda x,y:x+y,num_calc)) #106
print(reduce(lambda x,y:x*y,num_calc)) #600