新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python深拷貝和淺拷貝的區(qū)別是什么
淺拷貝

站在用戶的角度思考問題,與客戶深入溝通,找到柳州網(wǎng)站設計與柳州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站建設、成都網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、雅安服務器托管、企業(yè)郵箱。業(yè)務覆蓋柳州地區(qū)。
copy模塊里面的copy方法實現(xiàn)。淺拷貝后,改變原始對象中為可變類型的元素的值,會同時影響拷貝對象;改變原始對象中為不可變類型的元素的值,不會響拷貝對象。
python學習網(wǎng),大量的免費python視頻教程,歡迎在線學習!
代碼演示
import copy #定義一個列表,其中第一個元素是可變類型。 list1 = [[1,2], 'fei', 66]; #進行淺copy list2 = copy.copy(list1); #對象地址是否相同。 print(id(list1)); print(id(list2)); #結果:不同 46177816 46177936 #第一個元素地址是否相同。 print(id(list1[0])); print(id(list2[0])); #結果:相同 46240432 46240432 #第二個元素地址是否相同。 print(id(list1[1])); print(id(list2[1])); #結果:相同 45547328 45547328 #改變第一個值,查看復制對象變化。 list1[0][0] = 2; print(list2); #結果:復制對象發(fā)生變化 [[2, 2], 'fei', 66] #改變第二個值,查看復制對象變化。 list1[1] = 'ge'; print(list2); #結果:復制對象沒發(fā)生變了 [[2, 2], 'fei', 66]
相關推薦:《Python教程》
深拷貝
copy模塊里面的deepcopy方法實現(xiàn)。深拷貝,除了頂層拷貝,還對子元素也進行了拷貝。經(jīng)過深拷貝后,原始對象和拷貝對象所有的可變元素地址都沒有相同的了。
代碼演示
import copy #定義一個列表,其中第一個元素是可變類型。 list1 = [[1,2], 'fei', 66]; #進行深copy list2 = copy.copy(list1); #對象地址是否相同。 print(id(list1)); print(id(list2)); #結果:不同 46177816 46177936 #第一個元素地址是否相同。 print(id(list1[0])); print(id(list2[0])); #結果:不同 49123856 49588784 #第二個元素地址是否相同。 print(id(list1[1])); print(id(list2[1])); #結果:相同 45547328 45547328 #改變第一個值,查看復制對象變化。 list1[0][0] = 2; print(list2); #結果:復制對象沒發(fā)生變了 [[1, 2], 'fei', 66] #改變第二個值,查看復制對象變化。 list1[1] = 'ge'; print(list2); #結果:復制對象沒發(fā)生變了 [[1, 2], 'fei', 66]
當前標題:創(chuàng)新互聯(lián)Python教程:python深拷貝和淺拷貝的區(qū)別是什么
鏈接URL:http://www.5511xx.com/article/dhjoiid.html


咨詢
建站咨詢
