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影响

posted @ 2018-05-23 19:45  first_semon  阅读(286)  评论(0编辑  收藏  举报