
老师,我这样理解的浅拷贝为什么不行?浅拷贝的时候对a,b共有的部分修改,两个值都会发生改变,但是对b中a没有的部分进行
.append
修改,a不会改变,那不能说明b是指向a的第一堆的么?
我的测试代码如下:
import copy
print('测试浅拷贝')
a = [90, 80, [6, 7]]
b = copy.copy(a)
print("a", a)
print("b", b)
a[2].append(8)
b.append(70)
print("a", a)
print("b", b)
print('测试深拷贝')
def testdeepcopy():
a_1 = [90, 80, [6, 7]]
b_1 = copy.deepcopy(a_1)
print("a_1", a_1)
print("b_1", b_1)
b_1.append(70)
a_1[2].append(8)
print("a_1", a_1)
print("b_1", b_1)
testdeepcopy()