alist=[3,5,7,9,11]
blist=alist
print(alist is blist)
这里输出的是True
alist=[3,5,7,9,11]
blist=alist[:]
print(alist is blist)
这里输出的是false
我的问题是 第二个代码中通过切片赋值 应该是引用 这种引用是浅复制吗
浅复制和深复制都能改变地址吗
alist=[3,5,7,9,11]
blist=alist
print(alist is blist)
这里输出的是True
alist=[3,5,7,9,11]
blist=alist[:]
print(alist is blist)
这里输出的是false
我的问题是 第二个代码中通过切片赋值 应该是引用 这种引用是浅复制吗
浅复制和深复制都能改变地址吗
一个是地址,一个是值
blist=alist这个是地址,深拷贝
blist就是alist,alist就是blist,改变blist中的值就是改变alist的值
blist=alist[:]是复制的值,即浅拷贝