# reduce():将列表中元素依次进行运算（将上一次的运算结果与下一个元素进
# 行运算）

# 语法格式：reduce(func，iter[, initail])
# 当只有前两个参数时：函数存在两个形参，系统默认将列表的前两个元素传递给
# 函数，之后在再将运行的结果传递给函数的第一个形参，将列表中其他的元素依次
# 传递给函数的第二个形参。
# 当有三个参数时：函数存在两个形参，系统默认将initail及列表的第一个
# 元素传递给函数，之后在再将运行的结果传递给函数的第一个形参，将列
# 表中其他的元素依次传递给函数的第二个形参。
from functools import reduce

# 函数：返回数值的和
def func1(num1, num2):
    return num1 + num2
res1 = reduce(func1, [1,2,3,4])
print(res1)
# (((1,2)+3)+4)

res2 = reduce(func1, [1,2,3,4,5], 100)
print(res2)
# (((100+1)+2)...)





