您好,所以我想知道是否有一种方法可以在不更改变量值的情况下通过函数进行递归。
这是我的代码:
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
如您所见,我正在使用辅助函数,以便在函数进行递归时将其追加到范围列表中而不更改其值。
我想知道是否有一种方法可以不使用辅助函数来做到这一点。使用辅助函数似乎有些晦涩。
我认为您正在寻找默认参数:
def list_range(self, low, high, rangelist = None):
if rangelist is None:
rangelist = []
# here goes the code of helper_list_range
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句