【发布时间】:2020-07-10 20:04:07
【问题描述】:
所以我创建了这个只有一个嵌套列表的类。据我说[[2,2],[3,3],[4,3]] 应该是输出。这就是项目分配在 python 中的工作方式。代码如下:
class A():
def __init__(self):
self.a = [[1,1],[2,2],[3,3]]
self.start()
def start(self):
self.do()
self.a[2][0] += 1
print(self.a)
def do(self):
self.a[0] = self.a[1]
self.a[1] = self.a[2]
aaa = A()
但是输出结果是[[2,2],[4,3],[4,3]]。对于最后一个列表,不知何故第二个列表也发生了变化。这发生在代码的第 8 行。
请告诉我出了什么问题,是输出还是我的python知识?
【问题讨论】:
-
嵌套python列表中的经典问题,参考与价值。一种可能的解决方法:
self.a[1] = self.a[2][:] -
这能回答你的问题吗? How to clone or copy a list?
标签: python python-3.x variables nested variable-assignment