在以下代码中:
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
Run Code Online (Sandbox Code Playgroud)
是每次我创建的新列表listSum(alist[1:])?
如果是,这是推荐的方式还是我可以做更高效的事情?(不是针对特定的功能 - 这是一个例子 - 而是当我想要处理列表的特定部分时.)
编辑:
对不起,如果我困惑任何人,我对一个有效的sum实现不感兴趣,这作为一个例子,以这种方式使用切片.
我想说的是:
if switch == True:
for i in range(5):
# stuff()
else:
for i in range(10):
# stuff()
Run Code Online (Sandbox Code Playgroud)
有更多的Pythonic方式吗?