python 中list的深拷贝和浅拷贝

注意:这里提到是list的隐式转换
例如 a=[1,2,3]
def test(n):
n[2] = n[2]*2
c=a
此时是浅拷贝,当调用test(c)时,可以看到a也发生了变化
c=[1,4,3]
a=[1,4,3]
要想址传递(即深拷贝)需要像这样字:d=a[:]
此时在调用test(d)可以发现:
d=[1,8,3]
a=[1,4,3]
切记:当del a[:]的时候,d也被删除了,而c却是独立的,不会被a影响

作者:first_semon
         
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题,欢迎交流
原文地址:https://www.cnblogs.com/first-semon/p/9078929.html