深拷貝淺拷貝
阿新 • • 發佈:2021-01-18
技術標籤:python及日常測試記錄pythonpython
深拷貝淺拷貝
import copy
#迴圈刪除list的時候,會導致下標錯亂,所以不能迴圈刪除
li = [1,1,2,3,3,4,5,5,6,7,7,8,9]
#l3=[1,1,2,3,3,4,5,5,6,7,7,8,9]
l3=li
for i in l3:
if i%2!=0:
li.remove(i)
print(li)
1、深拷貝,拷貝出來的變數,在改變新變數數值時,舊變數完全不影響
2、淺拷貝,拷貝出來的變數在改變數值時,舊變數一維陣列不影響,二維陣列影響
lj = [1,1,2,3,3,4,5,5,6,7,7,8,9,["a","b","c"]] l5=copy.deepcopy(lj)#深拷貝 l4=copy.copy(lj)#淺拷貝 l5[-1].append("d") l5.append(3333) print("l5的值:",l5) print("lj的值:",lj) l4[-1].append("d") l4.append(3333) print("l4的值:",l4) print("lj的值:",lj)