题目背景:
让我们来看一些例子。要对一个数字列表(或者其他序列)求和,我们可以使用内置的sum函数,或者自己编写一个更加定制化的版本。这里是用递归编写的一个定制求和函数的示例
def mysum(L):
if not L:
return 0
else:
return L[0] + mysum(L[1:])
这是一种最基本的递归写法,通过递归的方式将列表中的所有进行相加,典型的鸭子类型。
编码替代方案:
有趣的是,我们也可以使用Python的三元if/else表达式。我们也可以针对任何可加和的类型一般化(如果我们至少假设输入中的一项的话,这