使用递归的列表列表

Bob*_*b24 3 python recursion list

我一直在尝试一些在线学习,我已经被困了一段时间。

我需要使用递归创建一个空列表列表。

奇怪的是,我认为我理解阶乘算法(有很多帮助),但不是这样,因此它总是只返回单个 []。

例如,如果n=4我希望[[ ], [ ], [ ] ,[ ]]

def listOfLists(n):

    lists = []

        if i <= 1:
            return lists
        else:
            lists += lists.append([])
            listOfLists(n-1)
Run Code Online (Sandbox Code Playgroud)

Nic*_*ick 5

您不使用递归调用的响应,请尝试理解此代码(我已尝试使表单与您的相似):

def listOfLists(n):
    lists = [[]]
    if n <= 1:
        return lists
    else:
        return lists + listOfLists(n-1)
Run Code Online (Sandbox Code Playgroud)

这个书面的“试运行”可以帮助你理解它(对于listOfLists(3)):

Call - listOfLists(3)
 Call - listOfLists(2)
  Call - listOfLists(1)
  Return [[]] # From listOfLists(1)
 Return [[]] + [[]] # From listOfLists(2)
Return [[]] + [[],[]] # From listOfLists(3)
Run Code Online (Sandbox Code Playgroud)