Python:如何创建一个列表,它有自己的副本,但在前一个列表中



我正在尝试创建一个位于另一个list内部的list,依此类推

示例:

[[[]]]变成[[[[]]]]

这是我的代码:

startlist = []
def add_seq(list):
try:
list.append([])
except:
startlist.append([])
return startlist
else:
return list

add_seq(startlist)
print(startlist)
add_seq(startlist[-1])
print(startlist)
add_seq(startlist[-1][-1])
print(startlist)

但是,我想在循环中使用该函数,并且索引发生变化(startlist[-1]变为startlist[-1][-1](

有没有办法更改索引,以便向列表中添加更多列表?

我会将嵌套层构造为字符串,然后计算表达式。您可以将每一层存储在结果列表中,以便稍后轻松访问:

"""
Example:
r[0] - [3]
r[1] - [[3]]
r[2] - [[[3]]]
"""
import ast
start = [3]
depth = 3
r = []
for level in range(depth):
r.append(ast.literal_eval('[' * level + str(start) + ']' * level))
print(r[level])

最新更新