刚开始学习python,这里赋值一直弄不明白,请问为什么会是这样的结果呢?
1条回答 默认 最新
- A Python 萌新花花 2022-06-19 10:21关注
[:]叫做深复制。
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没变本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报