【发布时间】:2019-01-15 09:16:23
【问题描述】:
time_count = [[0, 0, 0, 0]] * 4
j = 0
for i in range(len(time_count)):
time_count[i][1] = j
j += 1
print(time_count)
输出:
[[0, 3, 0, 0], [0, 3, 0, 0], [0, 3, 0, 0], [0, 3, 0, 0]]
我希望输出是这样的:
[[0,0,0,0],[0,1,0,0],[0,2,0,0],[0,3,0,0]]
有人能解释一下为什么每个index[1] 都是3 吗?
【问题讨论】:
-
*运算符创建对(相同)列表的新引用。如果你改变一个,你就改变了所有。 -
太棒了!我明白了,但是如何在不写下每个元素的情况下创建一个长列表?
标签: python list loops nested-lists assign