第一(深浅拷贝说明)
深浅拷贝
# shallow copy
#浅拷贝纸拷贝第一层元素
#浅拷贝在修改第一层元素(不可变数据类型)的时候,拷贝出来的新列表不进行改变
# lst = [1,2,3,[5,6,7]]
# lst1 = lst.copy()
# print(lst)
# print(id(lst))
# print(lst1)
# print(id(lst1))
# lst1[0] = 11
# print(lst)
# print(lst1)
#浅拷贝在替换第一层元素(可变数据类型)的时候,拷贝出来的新列表不进行改变
# lst = [1,2,3,[5,6,7]]
# lst1 = lst.copy()
# print(lst)
# print(lst1)
# print('-'*8)
# lst1[-1] = 88
# print(lst)
# print(lst1)
#浅拷贝在修改第一层元素中的元素(第二层)的时候,新拷贝出来的新列表进行改变
# lst = [1,2,3,[5,6,7]]
# lst1 = lst.copy()
# print(lst)
# print(lst1)
# print('-'*8)
# lst1[-1].append(9)
# print(lst)
# print(lst1)
#在字典中,值如果是列表,里面的都属于第二册
# dic = {'ckl':[1,2,3,[5,6]]}
# dic1 = dic.copy()
# dic['ckl'][-1] = 9
# print(dic)
# print(dic1)
#在字典中,值属于第一层
# dic = {'ckl':[1,2,3,[5,6]]}
# dic1 = dic.copy()
# dic['ckl']= 9
# print(dic)
# print(dic1)
#deepcopy
# import copy
# lst = [1,2,3,[5,6,7]]
# lst1 = copy.deepcopy(lst)
# lst[0] = "123"
# print(lst)
# print(lst1)
# import copy
# lst = [1,2,3,[5,6,7]]
# lst1 = copy.deepcopy(lst)
# lst[-1] = "123"
# print(lst)
# print(lst1)
#深拷贝开辟一个空间(列表),不可变数据公用,可变数据类型(再次开辟一个新的空间),空间里的值是不可变类型时,进行公用;可变的数据类型,再次开辟空间
# import copy
# lst = [1,2,3,[5,6,7]]
# lst1 = copy.deepcopy(lst)
# lst[-1].append(8)
# print(lst)
# print(lst1)