Python数组 - 用最后一个值替换的元素

时间:2014-11-10 23:34:28

标签: python

给出代码

  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。

1 个答案:

答案 0 :(得分:1)

通过乘以列表,您可以创建初始列表的副本。因此,当您修改其中一个时,更改也会转移到其他副本中。