python 基础系列06-深浅拷贝
#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]]