遍历列表列表

时间:2019-01-12 14:30:18

标签: python python-3.x list for-loop

我不了解在Python中通过列表列表进行迭代的方式。

作为示例,让我以以下简单的for循环为例:

lst = [[0,1],[2,3]]
for lt in lst:
    print(lt)

预期打印的内容

[0, 1]
[2, 3]

每次迭代时的迭代变量ltlst列表中的一个元素。

现在让我接受这段代码:

lst = [list()]*2
i = 0
for lt in lst:
    print(i)
    print(lt)
    lt.append(i)
    print(lt)
    i += 1
print(lst)

在每次迭代中,我期望lt是列表lst的元素,因此它是一个列表。使用该迭代器,我尝试在每次迭代时仅将数字附加到lst的元素(列表)中。换句话说,作为输出,我期望的像是[[0],[1]]

相反,此代码修改了lst,因此最终是:

[[0, 1], [0, 1]]

不会像lt那样用lst的下一个元素的值“重新初始化”,而是保留上一次迭代的值。

那是为什么?

0 个答案:

没有答案