python 浅copy和深copy

import copy

b1 = ["python",1,[999,"java"]]

b2 = b1.copy()

b2[2][0]=777

b3 = copy.deepcopy(b1)

b3[2][0]=888

解释:b2是b1的浅拷贝,b3是b1的深拷贝,b1中嵌套了一个列表,当我们修改b2中嵌套的列表中的值的时候,我们发现b1中的嵌套列表页被修改了,从下面的图中我们可以看出,b1和b2中嵌套的列表都指向同一个对象,b3嵌套的列表指向的是另一个对象,所以修改b3中的嵌套列表不会修改b1中的嵌套列表


你可能感兴趣的:(python 浅copy和深copy)