濮阳杆衣贸易有限公司

主頁 > 知識庫 > Python基礎(chǔ)詳解之列表復(fù)制

Python基礎(chǔ)詳解之列表復(fù)制

熱門標(biāo)簽:地圖標(biāo)注微信發(fā)送位置不顯示 南京銷售外呼系統(tǒng)軟件 地圖制圖標(biāo)注位置改變是移位嗎 房產(chǎn)電銷外呼系統(tǒng) 浙江電銷卡外呼系統(tǒng)好用嗎 315電話機器人廣告 蓋州市地圖標(biāo)注 上海機器人外呼系統(tǒng)哪家好 地圖標(biāo)注的意義點

一、前言

Python中列表的復(fù)制分為幾種情況:

  • 直接賦值
  • 淺復(fù)制
  • 深復(fù)制

下面通過實例分析一下這幾種情況的區(qū)別。

二、直接賦值

a = [11, 22, 33]
b = a
print(id(a), id(b))
b[0]=1
print(a,b)

輸出結(jié)果為如下所示,發(fā)現(xiàn)內(nèi)存地址沒有發(fā)生變化,b只是a的引用,通過b更改列表的值時,a同時做修改。

三、用切片賦值

a = [11, 22, 33]
b = a[:]
print(id(a), id(b))
b[0]=1
print(a,b)

輸出結(jié)果為如下所示,發(fā)現(xiàn)內(nèi)存地址發(fā)生了變化,通過b更改列表的值時,對a沒有任何的影響。

四、copy()復(fù)制實現(xiàn)賦值

a = [11, 22, 33]
b = copy.copy(a)
print(id(a), id(b))
b[0]=1
print(a,b)

輸出結(jié)果為如下所示,

發(fā)現(xiàn)內(nèi)存地址發(fā)生了變化,通過b更改列表的值時,對a沒有任何的影響。說明copy()復(fù)制的方式和切片的方式功能相同。

五、deepcopy()復(fù)制實現(xiàn)賦值

a = [11, 22, 33]
b = copy.deepcopy(a)
print(id(a), id(b))
b[0]=1
print(a,b)

輸出結(jié)果為如下所示,發(fā)現(xiàn)在該實例中,deepcopy()和copy()的方式?jīng)]有任何區(qū)別。

那么淺復(fù)制和深復(fù)制有什么區(qū)別呢?繼續(xù)看下面的實例測試。

六、copy()和deepcopy()的區(qū)別

6.1  copy()

a = [11, 22, 33, [1,2]]
b = copy.copy(a)
print(id(a), id(b))
b[3][0]=11
print(a,b)

運行結(jié)果:

6.2 deepcopy()

a = [11, 22, 33, [1,2]]
b = copy.deepcopy(a)
print(id(a), id(b))
b[3][0]=11
print(a,b)

運行結(jié)果:

通過上面的測試,發(fā)現(xiàn)當(dāng)列表a中的元素包含子列表時:

copy()方法為淺復(fù)制,沒有復(fù)制子對象,當(dāng)原始數(shù)據(jù)改變,子對象會改變;而deepcopy()方法包含對象里面的子對象的復(fù)制,當(dāng)原始對象改變,不會造成深復(fù)制里任何子元素的改變。

到此這篇關(guān)于Python基礎(chǔ)詳解之列表復(fù)制的文章就介紹到這了,更多相關(guān)python列表復(fù)制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python中必會的四大高級數(shù)據(jù)類型(字符,元組,列表,字典)
  • Python列表刪除重復(fù)元素與圖像相似度判斷及刪除實例代碼
  • Python 統(tǒng)計列表中重復(fù)元素的個數(shù)并返回其索引值的實現(xiàn)方法
  • Python 把兩層列表展開平鋪成一層(5種實現(xiàn)方式)
  • 淺談Python列表嵌套字典轉(zhuǎn)化的問題
  • Python隨機函數(shù)random隨機獲取數(shù)字、字符串、列表等使用詳解
  • Python列表排序方法reverse、sort、sorted詳解
  • Python3 列表list合并的4種方法
  • python獲取指定時間段內(nèi)特定規(guī)律的日期列表
  • python實現(xiàn)合并兩個有序列表的示例代碼
  • python求列表對應(yīng)元素的乘積和的實現(xiàn)
  • Python統(tǒng)計列表元素出現(xiàn)次數(shù)的方法示例
  • python 合并列表的八種方法
  • python 列表元素左右循環(huán)移動 的多種解決方案
  • Python列表排序 list.sort方法和內(nèi)置函數(shù)sorted用法
  • 淺談Python基礎(chǔ)之列表那些事兒

標(biāo)簽:雙鴨山 赤峰 金華 臨汾 陽泉 貴州 日照 克拉瑪依

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python基礎(chǔ)詳解之列表復(fù)制》,本文關(guān)鍵詞  Python,基礎(chǔ),詳解,之,列表,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python基礎(chǔ)詳解之列表復(fù)制》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python基礎(chǔ)詳解之列表復(fù)制的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    嘉兴市| 兴安盟| 南昌县| 分宜县| 扎兰屯市| 郴州市| 都江堰市| 东源县| 西华县| 蒲城县| 西宁市| 伊吾县| 赤峰市| 隆林| 白河县| 梨树县| 大关县| 靖远县| 浦城县| 邵阳市| 文山县| 高台县| 松阳县| 青神县| 山东| 台中市| 沙田区| 子长县| 湖北省| 京山县| 东丽区| 永福县| 灌南县| 泌阳县| 景东| 乐至县| 镶黄旗| 荥阳市| 汝南县| 云南省| 宝坻区|