更新list [i] [j]中的值,并且所有list [i]都会更新

时间:2015-07-12 20:04:46

标签: python list

我在python中初始化了一个空的二维列表:

memories = []
for idx in range(x_size):
    memories.append([Dot(0,0)]*y_size)

其中Dot是一个类:

def __init__(self, x, y):
        self.x = x
        self.y = y

之后,我在列表memories中填写内容,如下所示:

memories[p.state.x][p.state.y].y += 1

问题在于,由于某种原因,新值不仅会在单个单元格memories[p.state.x][p.state.y]中更新,而且还会在整个行memories[p.state.x]中更新。为什么会发生这种情况,我该如何避免呢?

谢谢:)

0 个答案:

没有答案