我需要编写一个函数,接收一个非负整数并返回:
[] for n=0
[[]] for n=1
[[],[[]]] for n=2
[[],[[]],[[],[[]]]] for n=3
等等。对于一个 n
,我们将会收到一个大小为 n
的列表,使得在索引 i
上,将有来自列表的所有 i-1
个元素。我不知道如何更好地解释,英语不是我的母语。
我不允许使用列表切片或循环,并且我应该创建每个列表的深层副本,而不使用 copy
模块。我不允许让两个不同的列表或索引指向内存中的同一个列表。
这是我尝试过的:
def list_seq(x, outer_list=[]):
if x == 0:
return []
outer_list.append(list_seq(x-1,outer_list))
return outer_list
执行 print(list_seq(2))
的输出结果为 [[], [...]]
。