我需要编写一个接收非负整数并返回的函数:
[] for n=0
[[]] for n=1
[[],[[]]] for n=2
[[],[[]],[[],[[]]]] for n=3
Run Code Online (Sandbox Code Playgroud)
等等。对于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
Run Code Online (Sandbox Code Playgroud)
的输出print(list_seq(2))是[[], [...]].