【发布时间】:2021-09-14 23:34:04
【问题描述】:
我真的陷入了一个问题,我完全不明白为什么输出是它的样子,而不是我所期望的。我基本上想计算仅用零初始化的嵌套列表的元素的值。这是我的问题的简单形式的代码:
aa = [[0] * 2] * 2
for i in range(2):
for j in range(2):
for k in range(0, 10):
aa[i][j] += k
我预计“aa”的输出是:[[45, 45], [45, 45]]。
但是输出是:[[90, 90], [90, 90]]
怎么可能?任何解释都会有所帮助。调试后,我看到 Python 总是将 k 添加到列表中的两个列表中,尽管例如 i 当前为 0。
【问题讨论】:
-
请看下面Notes下的second note。
标签: python nested-lists nested-for-loop