对于具有可变索引数的嵌套列表中的循环

时间:2014-07-08 10:46:35

标签: python list for-loop nested-lists

我有一个嵌套列表,其中外部列表​​有41个元素,每个元素都是list,每个元素都包含不同数量的元素。

我希望能够遍历嵌套列表中的每个元素并添加41个空列表,从而形成一个三层嵌套列表。我试着用这段代码做到这一点:

for x in reflist:
    for y in reflist[x]:
        for z in range(0, 41):
            reflist[x][y].append([])

但它不起作用,因为第2行和第4行(xy)中使用的值是列表,而不是整数。

我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

Python for循环不会生成索引,它会循环遍历可迭代的元素x绑定到reflist中的每个元素,而不绑定到索引,因此reflist[x]正在尝试使用元素索引列表。除非你的列表直接包含所有有效索引的整数,否则这将不起作用。

直接使用xy

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))