刚开始学习python,这里赋值一直弄不明白,请问为什么会是这样的结果呢?
收起
[:]叫做深复制。
a = [1,2,3]
b = a
b = [3,4,5]
这种情况下,b和a指向的是同一地址,就是虽然是两个不同的变量,但是他们代表的东西是一个,都是那个list。所以改b就相当于改a。
a = [1,2,3]
b = a[:]
b = [3,4,5]
这种情况下,b和a指向的是不同地址,是两个不同的变量,但是他们代表的东西不是一个,所以改b不相当于改a。
这个题里面都是第二种情况,先是a正常的变化,然后下面的b的变化,因为是深复制,影响不到a,所以a没变
报告相同问题?