我无法理解这个例子:
def mysum(L):
first, *rest = L
return first if not rest else first + mysum(rest)
我认为声明意味着首先!=休息,所以它必须先返回,但它首先返回+ mysum(休息)。 你能解释一下原因吗? TIA
答案 0 :(得分:1)
如果您不理解三元,请重新编写。
if not rest:
return first
else:
return first + mysum(rest)
用语言来说,如果没有剩下的东西,则返回你拥有的东西,否则返回当前元素加上剩余列表的总和。
我认为该陈述意味着首先!=休息,
不。 if not rest
是声明,如
>>> not []
True