我正在尝试创建一个位于另一个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])