【发布时间】:2018-08-18 08:26:57
【问题描述】:
我的目标是在不使用突变的情况下对列表求和。
def noMutObj(lst,pointer=0, result=0):
if pointer == len(lst):
return result
newResult = result + lst[pointer]
return noMutObj(lst, pointer+1, newResult)
我们是否会考虑 pointer 在我们进入递归时发生变异,
or 变异是否只适用于迭代循环中变化的变量?
【问题讨论】:
-
lst中的值有变化吗?不?那么就没有突变。 -
(...要清楚,这并不意味着“绑定到名称
lst的值”,而是“lst的单个实例中的值”;您可以将不同的列表实例绑定到相同的名称,但如果您不更改单个实例的内容,则不会发生突变)。
标签: python recursion sum mutable mutation