两个通过比较相同但声明不同的列表也会以不同方式更新。有人可以帮忙解释一下原因吗?
L1 = [[0] * 2] * 2
L2 = [[0 for _ in xrange(2)] for _ in xrange(2)]
assert(L1 == L2)
for i in xrange(2):
L1[0][i] = 1
L2[0][i] = 1
print L1
print L2
最终结果是
>>> [[1, 1], [1, 1]]
>>> [[1, 1], [0, 0]]