我有一个嵌套列表,其中外部列表有41个元素,每个元素都是list,每个元素都包含不同数量的元素。
我希望能够遍历嵌套列表中的每个元素并添加41个空列表,从而形成一个三层嵌套列表。我试着用这段代码做到这一点:
for x in reflist:
for y in reflist[x]:
for z in range(0, 41):
reflist[x][y].append([])
但它不起作用,因为第2行和第4行(x
和y
)中使用的值是列表,而不是整数。
我怎么能这样做?
答案 0 :(得分:2)
Python for
循环不会生成索引,它会循环遍历可迭代的元素。 x
绑定到reflist
中的每个元素,而不绑定到索引,因此reflist[x]
正在尝试使用元素索引列表。除非你的列表直接包含所有有效索引的整数,否则这将不起作用。
直接使用x
和y
:
for x in reflist:
for y in x:
for z in range(0, 41):
y.append([])
您可以将其减少为:
for x in reflist:
for y in x:
y.extend([] for _ in range(41))