我在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]
中更新。为什么会发生这种情况,我该如何避免呢?
谢谢:)