python中a[:]与a的区别

1.对a[:]赋值后查看a的地址,发现地址不变,原因是并没有分配新的内存地址,而是直接在原内存地址上修改

python中a[:]与a的区别
此时a仍然使用到的是原地址空间

2.对a赋值后查看a的地址,发现地址变了,原因是a为一个新的对象,所以分配了新的内存地址。

python中a[:]与a的区别
此时a新开辟了一个地址空间

[发现了一个深拷贝和浅拷贝讲的很好的博客https://blog.****.net/saltriver/article/details/53239415