我在 python 中的 for 循环中有奇怪的行为。问题不完全是这个问题,但非常类似于:
a = []
b = [1,2,3,4]
for i in xrange (0,10):
a.append(b)
b[3] += 1
结果是:
a = [[1,2,3,14],[1,2,3,14],[1,2,3,14],[1,2,3,14],[1,2,3,14],[1,2,3,14],[1,2,3,14],[1,2,3,14],[1,2,3,14],[1,2,3,14]]
我期待的结果是
a = [[1,2,3,4],[1,2,3,5],[1,2,3,6],[1,2,3,7],.....,[1,2,3,14]]
我不知道为什么在每次迭代中,b[3] 被添加到 14,然后列表 [1,2,3,14] 被添加到 a。我认为 b[3] 在每次迭代时应该只增加 1