浅复制的三种方法:
a = [1, 2, 3, 4]
# 第一种 使用copy()函数 或导入copy包
b = a.copy()
import copy
b = copy.copy(a)
# 第二种
b = a[:]
# 第三种
b = list(a)
特点:b有独立的不用于a的地址,修改元素不会相互影响
但 若a中的元素包含列表等特殊类型时,上述方法则无效,修改时会同时影响a和b。
因为浅复制只是改变了第一层的引用地址,a中存储的列表的第二层引用没有改变,是单独分配的空间。此时需要用到列表的深层复制。
深层复制方法:
import copy
a = [1, 2, [4, 5, 6], 4]
b = copy.deepcopy(a)