给出代码
def sumset(a, b):
bands=[[0, 0]]*len(a)*len(b)
current=-1
for ba in a:
for bb in b:
current+=1
bands[current][0]=ba[0]+bb[0]
bands[current][1]=ba[1]+bb[1]
print(bands[current])
print(bands)
sumset([[1,2], [2,4]], [[0,1], [8, 9]])
的输出结果为
[1, 3]
[9, 11]
[2, 5]
[10, 13]
[[10, 13], [10, 13], [10, 13], [10, 13]]
我无法理解为什么bands
填充了bands[3]
。
编辑:我在Ubuntu 14.10上使用Python 3.4.2。
答案 0 :(得分:1)
通过乘以列表,您可以创建初始列表的副本。因此,当您修改其中一个时,更改也会转移到其他副本中。