当我传递一个空列表时,我试图返回 1 而不是 None reduce(mul, a)
。我的代码:
from operator import mul
def product_list(a):
for b in a:
b = reduce(mul, a)
if b == None:
return 1
return b
print product_list([])
无论我将 if 语句放在哪里来捕获一个空白列表,我仍然会收到 None 作为输出。我仍在学习基础知识,但这对我来说毫无意义。我什至试过
from operator import mul
def product_list(a):
if a == None:
return 1
else:
for b in a:
b = reduce(mul, a)
if b == None or a == None:
return 1
return b
print product_list([])
只是想看看它是否会捕获 None 并返回 1。 reduce() 是否没有按照我认为的方式运行,或者我的代码中是否存在明显的错误,禁止返回 1 并强制返回 None?