python 的reduce原理是什么?

如果函数接收多个参数而只给reduce的参数队列不够数量参数,则会发生一下各种情况:

def func1(x,y,z):
    return x+y+z

def func2(x,y):
    return x+y

def func21(x,y=1):
    return x+y

def func3(x,y,z):
    return x+y+z

def func4(x,y,z=1):
    return x+y+z

by = [1]
by2 = [1,2]
print reduce(func1,by) # 1 ,两个以上参数只给一个,不执行return直接返回传人的唯一的值
print reduce(func2,by) # 1
print reduce(func21,by) # 1
print reduce(func4,by2) # 4
# print reduce(func3,by2) # error,3个参数给2个,就会报错


那么,各位是否知道在reduce 内部是如何判断以及返回的呢?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐