10.深浅拷贝
深浅拷贝
1.浅拷贝,只是拷贝第一层,深层不会进行拷贝
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 li = [111,222,'zhangsan','lisi'] 2 li1 = li.copy() 3 print(li) 4 # =>[111, 222, 'zhangsan', 'lisi'] 5 print(li1) 6 # =>[111, 222, 'zhangsan', 'lisi'] 7 8 li = [[111,222],333,444] 9 li1 = li.copy() 10 print(li) 11 # =>[[111, 222], 333, 444] 12 print(li1) 13 # =>[[111, 222], 333, 444] 14 # 更改列表内的列表 15 li1[0][1] = 666 16 print(li) 17 # =>[[111, 666], 333, 444] 18 print(li1) 19 # =>[[111, 666], 333, 444]
2.深拷贝,全部拷贝,克隆一份,需要单独模块执行(copy)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 import copy 2 li = [[111,222],333,444] 3 li1 = copy.deepcopy(li) # deepcopy:深拷贝 4 print(li) 5 # =>[[111, 222], 333, 444] 6 print(li1) 7 # =>[[111, 222], 333, 444] 8 li1[0][0] = '666' 9 print(li) 10 # =>[[111, 222], 333, 444] 11 print(li1) 12 # =>[['666', 222], 333, 444]