您好,我想知道是否有方法通过函数递归而不改变变量的值。如何在不改变变量的情况下进行递归
这里是我的代码:
def helper_list_range(self, low, high, rangelist):
if self is EmptyValue:
return rangelist
else:
if self.left is not None and self.right is not None:
if self.root <= high and self.root >= low:
rangelist.append(self.root)
self.left.helper_list_range(rangelist)
self.right.helper_list_range(rangelist)
return rangelist
def list_range(self, low, high):
rangelist = []
self.helper_list_range(low, high, rangelist)
return rangelist
正如你可以看到,我使用一个辅助函数,这样我追加到rangelist,而不改变其价值时,这个函数执行递归。
我想知道有没有一种方法可以做到这一点,而无需使用辅助函数。使用辅助函数似乎有点模糊。
帮助函数与“附加到范围列表而不更改其值”无关。帮助函数是完成所有工作的东西,使用从主函数传入的空列表。 – 2014-11-02 19:11:08
是的,我在主函数中创建了空列表,但是如果我是在辅助函数中创建它的话。该列表将再次变为空。一旦函数递归。所以我想知道,如果我们可以使用与递归发生在同一个函数中的列表 – Andre 2014-11-02 19:12:36