2 tanshuai1001 tanshuai1001 于 2016.04.07 01:04 提问

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
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!