如何从递归函数返回a列表?



我试图从下面的递归函数返回一个列表,我应该在哪里做?我想我不能做到这一点,因为我不完全理解所有的函数步骤,所以我怎么能遵循递归的每一步使用调试器?(pycharm)谢谢你的帮助!!

def parentheses_helper(open, close, word, lst):
""" get 2 equal integers and return all the combination of balanced parantheses """
if open == 0 and close == 0:
lst.append(word) 
print(lst)
if open > close:
return
if open > 0:
parentheses_helper(open - 1, close, word + '(', lst)
if close > 0:
parentheses_helper(open, close - 1, word + ')', lst)

def parentheses(n):
parentheses_helper(n, n, '', [])

如果您需要从函数parentheses返回列表,您可以在其中创建一个列表变量并传递给parentheses_helper,然后返回该变量。这将工作,因为您正在修改parentheses_helper内部的相同列表(列表没有被复制)

def parentheses(n):
lst = []
parentheses_helper(n, n, '', lst)
return lst

最新更新