我对以下代码的行为感到困惑:
data = [0,1,2,3,4,5]
class test():
def __init__(self,data):
self.data=data
self.data2=data
def main(self):
del self.data2[3]
test_var = test(data)
test_var.main()
print(test_var.data)
print(test_var.data2)
Run Code Online (Sandbox Code Playgroud)
我认为应该出来的是:
[0,1,2,3,4,5]
[0,1,2,4,5]
Run Code Online (Sandbox Code Playgroud)
我得到的是这个:
[0,1,2,4,5]
[0,1,2,4,5]
Run Code Online (Sandbox Code Playgroud)
为什么第二个列表中的元素在未直接更改时会被删除?或者python是否以正常情况发生的方式处理属性?
那么我应该如何改变我得到我想要的代码呢?