#python 基础系列06-深浅拷贝
#引入sys库
import sys
import copy
if __name__ == '__main__':
a,b,c =1,2,3
list1 = [1,2,3,4,5]
list2 = [1,2,3,4,5]
list2 = list1
list1[0] ='a'
print(list1,list2) #['a', 2, 3, 4, 5] ['a', 2, 3, 4, 5]
#实现拷贝,而不是内存指向相同的地址
list3 = [1, 2, 3, 4, 5]
list4 = [1, 2, 3, 4, 5]
list4 = list3[:]
list3[0] = 'xxx'
print(list3,list4) #['xxx', 2, 3, 4, 5] [1, 2, 3, 4, 5]
#但是存在浅拷贝,嵌套数据没有还是会跟着改变
list6 = [1, 2, 3, 4,[7,8]]
list7 = [1, 2, 3, 4,[7,8]]
list7 = list6[:]
list6[0] = 'bbb'
list6[4][0] = 'zzzz'
print(list6,list7) #['bbb', 2, 3, 4, ['zzzz', 8]] [1, 2, 3, 4, ['zzzz', 8]]
#实现全部拷贝,引入copy模块
s1 = [1, 2, 3, 4,[7,8]]
s2 = [1, 2, 3, 4,[7,8]]
s2 = copy.deepcopy(s1)
s1[-1][0] ='vvvv'
s1[0] ='12a'
print(s2) #[1, 2, 3, 4, [7, 8]]