在以下代码中:
def listSum(alist):
"""Get sum of numbers in a list recursively."""
sum = 0
if len(alist) == 1:
return alist[0]
else:
return alist[0] + listSum(alist[1:])
return sum
每次我这样做时都会创建一个新列表listSum(alist[1:])
吗?
如果是,这是推荐的方式还是我可以做一些更有效的事情?(不是针对特定功能 - 这作为示例 - 而是当我想处理列表的特定部分时。)
编辑:
抱歉,如果我让任何人感到困惑,我对有效的sum
实现不感兴趣,这是以这种方式使用切片的示例。