reduce函数
reduce函数 合并函数
# from functools import reduce 导入函数
num_l=[1,2,3,100]
res=0
for num in num_l:
res+=num
print(res)
"D:\pycharm new project\venv\Scripts\python.exe" "D:/pycharm new project/01"
106
num_l=[1,2,3,100]
def reduce_test(array):
res=0
for num in array:
res+=num
return res
print(reduce_test(num_l))
"D:\pycharm new project\venv\Scripts\python.exe" "D:/pycharm new project/01"
106
num_l=[1,2,3,100]
def multi(x,y):
return x*y
这两个函数一样
#lambda x,y:x*y
def reduce_test(func,array):
res=array.pop(0) #先把第一个列表拿出来
for num in array:
res=func(res,num)
return res
n=reduce_test(multi,num_l)
print(n)
"D:\pycharm new project\venv\Scripts\python.exe" "D:/pycharm new project/01"
600
跟上面的值一样
print(reduce_test(lambda x,y:x*y,num_l))
"D:\pycharm new project\venv\Scripts\python.exe" "D:/pycharm new project/01"
600
num_l=[1,2,3,100]
def reduce_test(func,array,init=None): #可以手动制定一个初始值
if init is None:
res=array.pop(0) #先把第一个列表拿出来
else:
res=init
for num in array:
res=func(res,num)
return res
print(reduce_test(lambda x,y:x*y,num_l,100))
#reduce函数
from functools import reduce #导入函数
num_l=[1,2,3,100]
print(reduce(lambda x,y:x+y,num_l,1)) #默认开始是1
print(reduce(lambda x,y:x+y,num_l))
"D:\pycharm new project\venv\Scripts\python.exe" "D:/pycharm new project/01"
107
106

浙公网安备 33010602011771号