Python列表的淺拷貝與深拷貝
對(duì)列表深拷貝就是無論怎樣改動(dòng)新列表(單維or多維),原列表都不變。
而下面的淺拷貝,對(duì)于多維列表,只是第一維深拷貝了(嵌套的List保存的是地址,復(fù)制過去的時(shí)候是把地址復(fù)制過去了),所以說其內(nèi)層的list元素改變了,原列表也會(huì)變。
一、淺拷貝(均是只對(duì)第一層進(jìn)行深拷貝)
1. for循環(huán)依次賦值
old = [1, [1, 2, 3], 3] new = [] for i in range(len(old)): ? ? new.append(old[i]) new[0] = 3 new[1][0] = 3 print(old) print(new) ''' [1, [3, 2, 3], 3] [3, [3, 2, 3], 3] '''
2. 使用copy()函數(shù)
old = [1,[1,2,3],3] new = old.copy() new[0] = 3 new[1][0] =3 print(old) print(new)
輸出:
[1, [3, 2, 3], 3]
[3, [3, 2, 3], 3]
3. 使用列表生成式
old = [1,[1,2,3],3] new = [i for i in old] ? new[0] = 3 new[1][0] = 3 print(old) print(new)
輸出:
[1, [3, 2, 3], 3]
[3, [3, 2, 3], 3]
4. 使用索引 [:]
old = [1,[1,2,3],3] new = old[:] ? new[0] = 3 new[1][0] = 3 print(old) print(new)
輸出:
[1, [3, 2, 3], 3]
[3, [3, 2, 3], 3]
淺拷貝對(duì)于單層列表就是深拷貝,如:
old = [1,2,3] new = old[:] new[0] = 666 print(old) print(new) """ [1, 2, 3] [666, 2, 3] """
二、深拷貝
使用用deepcopy()方法,才是真正的復(fù)制了一個(gè)全新的和原列表無關(guān)的:
import copy old = [1,[1,2,3],3] new = copy.deepcopy(old) ? new[0] = 3 new[1][0] = 3 """ [1, [1, 2, 3], 3] [3, [3, 2, 3], 3] """
到此這篇關(guān)于Python列表的淺拷貝與深拷貝的文章就介紹到這了,更多相關(guān)Python淺拷貝與深拷貝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python import自己的模塊報(bào)錯(cuò)問題及解決
這篇文章主要介紹了Python import自己的模塊報(bào)錯(cuò)問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02python安裝oracle擴(kuò)展及數(shù)據(jù)庫連接方法
這篇文章主要介紹了python安裝oracle擴(kuò)展及數(shù)據(jù)庫連接方法,較為詳細(xì)的分析了Python下載oracle擴(kuò)展及Windows、Linux環(huán)境下的安裝步驟、操作技巧及注意事項(xiàng),需要的朋友可以參考下2017-02-02pytorch 圖像中的數(shù)據(jù)預(yù)處理和批標(biāo)準(zhǔn)化實(shí)例
今天小編就為大家分享一篇pytorch 圖像中的數(shù)據(jù)預(yù)處理和批標(biāo)準(zhǔn)化實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python利用臨時(shí)文件實(shí)現(xiàn)數(shù)據(jù)的保存
tempfile模塊專門用于創(chuàng)建臨時(shí)文件和臨時(shí)目錄,它既可以在?UNIX?平臺(tái)上運(yùn)行良好,也可以在?Windows?平臺(tái)上運(yùn)行良好。本文將利用tempfile模塊創(chuàng)建臨時(shí)文件來保存數(shù)據(jù),感興趣的可以了解一下2022-07-07利用Python搶回在螞蟻森林逝去的能量(實(shí)現(xiàn)代碼)
螞蟻森林是一項(xiàng)旨在帶動(dòng)公眾低碳減排的公益項(xiàng)目,每個(gè)人的低碳行為在螞蟻森林里可計(jì)為"綠色能量",很多小伙伴都玩過,今天小編給大家分享一篇教程關(guān)于Python搶回在螞蟻森林逝去的能量,感興趣的朋友跟隨小編一起看看吧2022-03-03python逐像素獲取柵格經(jīng)緯度分別保存在兩個(gè)矩陣中(代碼收藏)
這篇文章主要介紹了python逐像素獲取柵格經(jīng)緯度分別保存在兩個(gè)矩陣中的實(shí)現(xiàn)示例,建議收藏代碼總會(huì)用到,有需要的朋友可以借鑒參考下,希望能夠有所幫助2024-01-01教你怎么用Python實(shí)現(xiàn)自動(dòng)生日祝福
這篇文章主要介紹了教你怎么用Python實(shí)現(xiàn)自動(dòng)生日祝福,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05使用Python合并PDF文件并添加自定義目錄及頁腳的全過程
在處理文檔時(shí),我們經(jīng)常遇到需要合并多個(gè)PDF文件并添加目錄及頁腳的情況,本文將介紹如何使用Python,特別是PyPDF2和reportlab庫來實(shí)現(xiàn)這一功能我們將通過一個(gè)實(shí)用的示例來演示整個(gè)過程,需要的朋友可以參考下2024-03-03