Python高级特性之深浅拷贝

深浅拷贝
import copy
浅拷贝:copy.copy
不可变类型和可变类型都是原列表中的地址
深拷贝:copy.deepcopy
不可变类型的地址是原列表中的地址
可变类型的地址是新生成元素的地址(即独立地址)

import copy
a = [1,2,[3,4]]  #深浅拷贝的区别提现在[3,4]这个子对象
b = copy.copy(a)  #浅拷贝
c = copy.deepcopy(a)  #深拷贝
a.append(5)
a[2].append(6)
print('a:',a)
print('id(a[2]):',id(a[2]))
print('b:',b)
print('id(b[2]):',id(b[2]))
print('c:',c)
print('id(c[2]):',id(c[2]))

Python高级特性之深浅拷贝_第1张图片

你可能感兴趣的:(python)