Discuss / Python / 顺便熟悉一下reduce函数和lambda

顺便熟悉一下reduce函数和lambda

Topic source

恢弘腾达

#1 Created at ... [Delete] [Delete and Lock User]
from functools import reduce
def product(*num):
    if not num:
        raise TypeError
    return reduce(lambda *x: x[0] * x[1], num[1:], num[0])

恢弘腾达

#2 Created at ... [Delete] [Delete and Lock User]

新增一个递归版本

def product(*x):
    if not x:
        raise TypeError
    return x[0] if len(x) == 1 else x[0] * product(*x[1:])

恢弘腾达

#3 Created at ... [Delete] [Delete and Lock User]
def product(sum, *num):
    for i in num:
        sum = sum * i
    return sum

小白想问一下这个sum初始值为啥是1


  • 1

Reply