深拷贝和浅拷贝
# ###深拷贝和 浅拷贝 copy
'''
a = 19
b = a
a = 20
print(b)
lst = [1,2,3]
lst2 = lst
lst.append(4)
print(lst2)
'''
# (1) 浅拷贝 (只能拷贝最外层一级,其它层级沿用以前的数据)
lst = [1,2,3]
# 方法一: 列表.copy()
lst2 = lst.copy()
res = lst.append(4)
print(lst)
print(lst2)
# 方法二: copy.copy(列表)
import copy #首先要用关键词引用copy模块
lst = [1,2,3]
'''copy 模块 . copy()方法'''
lst2 = copy.copy(lst)
lst.insert(2,4)
print(lst)
print(lst2)
# (2)深拷贝(所有层级,全部都拷贝一份,形成独立的副本)
lst = [1,2,3,[4,5,6]]
lst2 = lst.copy()
lst[-1].insert(-1,666)
lst.insert(1,888)
print(lst)
print(lst2)
# 深拷贝语法:
lst = [1,2,3,[4,5,6]]
lst2 = copy.deepcopy(lst)
lst[-1].insert(-1,456)
print(lst)
print(lst2)
# 深拷贝可以运用在字典中
dic = {"a":1,"b":[2,3,4]}
dic2 = copy.deepcopy(dic)
dic['b'].append(666)
print(dic)
print(dic2)
# copy 和 deepcopy 谁更快? copy速度更快!

浙公网安备 33010602011771号