成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Python深拷貝和淺拷貝使用方法

這篇文章運(yùn)用了實(shí)例代碼展示Python深拷貝和淺拷貝使用方法,代碼非常詳細(xì),可供感興趣的小伙伴們參考借鑒,希望對(duì)大家有所幫助。

在行唐等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需求定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè),行唐網(wǎng)站建設(shè)費(fèi)用合理。

一、淺拷貝

所謂淺拷貝,指的是對(duì)于某個(gè)對(duì)象,雖然創(chuàng)建了與該對(duì)象具有相同值的另一個(gè)對(duì)象,但是,這兩個(gè)對(duì)象內(nèi)部嵌套的對(duì)應(yīng)子對(duì)象全都是同一個(gè)對(duì)象。簡單地說,外部進(jìn)行了拷貝,內(nèi)部沒有拷貝。

以下方式得到的拷貝都是淺拷貝:

● 切片操作[:]

● 調(diào)用列表、字典、集合的方法copy()

● 調(diào)用內(nèi)置函數(shù)List()、dict()、set(4.

● 調(diào)用標(biāo)準(zhǔn)庫模塊copy中的函數(shù)copy()

import copy  # 導(dǎo)入標(biāo)準(zhǔn)庫模塊copy
L1 = [1,[1,2,3],6]
L2 = L1.copy() # [1, [1, 2, 3], 6] 使用list.copy()
L2 = L1[:] # [1, [1, 2, 3], 6] # 使用索引切片的方式
L2 = list(L1) #  [1, 2, 3], 6] # 使用list()函數(shù)賦值
L2 = copy.copy(L1) # [1, [1, 2, 3], 6]  # 調(diào)用標(biāo)準(zhǔn)庫模塊copy中的函數(shù)copy()

# 通過打印L1和L2的id可以看出,L2只拷貝了L1的外部,形成了一個(gè)和L1具有相同值的對(duì)象
# L1和L2內(nèi)部值的id全都相同,即引用的同一內(nèi)存地址
print('L1_id:%d' % id(L1)) # L1_id:140024932419056
print('L2_id:%d' % id(L2)) # L2_id:140024932419456
print('L1[1]_id:%d' % id(L1[1])) # L1[1]_id:140024932419376
print('L2[1]_id:%d' % id(L2[1])) # L2[1]_id:140024932419376
print('id_L1[2] %d' % id(L1[2])) # id_L1[2] 9466624
print('id_L2[2] %d' % id(L2[2])) # id_L2[2] 9466624

# 淺拷貝,對(duì)于列表內(nèi)部嵌套的可變類型對(duì)象,修改L1[1][1]值,L2[1][1]值也會(huì)跟著改變
# 實(shí)際上他們內(nèi)部都引用著同一個(gè)內(nèi)存id
L1[1][1] = 5
print(L1) # [1, [1, 5, 3], 6]
print(L2) # [1, [1, 5, 3], 6]
print('L1[1]_id:%d' % id(L1[1])) # L1[1]_id:140024932419376
print('L2[1]_id:%d' % id(L2[1])) # L2[1]_id:140024932419376

# 淺拷貝,對(duì)于列表內(nèi)部的不可變類型對(duì)象,修改L1[2],
# 因?yàn)槭遣豢勺冾愋停敲磿?huì)重新調(diào)用一個(gè)值給予引用,L2[2]因此不受影響
L1[2] = 8
print(L1) # [1, [1, 5, 3], 8]
print(L2) # [1, [1, 5, 3], 6]
print('id_L1[2] %d' % id(L1[2])) # id_L1[2] 9466688
print('id_L2[2] %d' % id(L2[2])) # id_L2[2] 9466624

二、深拷貝

所謂深拷貝,指的是:對(duì)于某個(gè)對(duì)象,創(chuàng)建與該對(duì)象具有相同值的另一個(gè)對(duì)象,同時(shí),這兩個(gè)對(duì)象內(nèi)部嵌套的對(duì)應(yīng)可變子對(duì)象全都不是同一個(gè)對(duì)象。簡單地說,外部和內(nèi)部都進(jìn)行了拷貝。

深拷貝的方法:

● 調(diào)用標(biāo)準(zhǔn)庫模塊copy中的函數(shù)deepcopy()

import copy  # 導(dǎo)入標(biāo)準(zhǔn)庫模塊copy
L1 = [1,[1,2,3],6]
L2 = copy.deepcopy(L1) # [1, [1, 2, 3], 6]

# 通過打印L1和L2的內(nèi)存地址可以看出,其外部進(jìn)行拷貝,L2是和L1具有相同值的新對(duì)象
# 對(duì)于內(nèi)部嵌套的可變類型對(duì)象,L1[1]和L2[1]內(nèi)存地址并不相同
# 對(duì)于內(nèi)部嵌套的不可變類型對(duì)象,L1[2]和L2[2]內(nèi)存地址相同,引用的同一內(nèi)存地址
print('L1_id:%d' % id(L1)) # L1_id:139984573203792
print('L2_id:%d' % id(L2)) # L2_id:139984573203952
print('L1[1]_id:%d' % id(L1[1])) # L1[1]_id:139984573203472
print('L2[1]_id:%d' % id(L2[1])) # L2[1]_id:139984573204512
print('id_L1[2] %d' % id(L1[2])) # id_L1[2] 9466624
print('id_L2[2] %d' % id(L2[2])) # id_L2[2] 9466624

# 深拷貝,列表內(nèi)部嵌套的可變類型對(duì)象,修改L1[1][1] 為5不影響L2[1][1]的值,
# 深拷貝是將L1和L2內(nèi)部可變類型對(duì)象的值引用的內(nèi)存地址分開來
L1[1][1] = 5
print(L1) # [1, [1, 5, 3], 6]
print(L2) # [1, [1, 2, 3], 6]
print('L1[1]_id:%d' % id(L1[1])) # L1[1]_id:139984573203472
print('L2[1]_id:%d' % id(L2[1])) # L2[1]_id:139984573204512

# 深拷貝,對(duì)于列表內(nèi)部不可變類型對(duì)象,修改L1[2] = 8,因?yàn)槭遣豢勺冾愋停詫1[2]重新賦值引用,不影響L2[2]
L1[2] = 8
print(L1) # [1, [1, 5, 3], 8]
print(L2) # [1, [1, 2, 3], 6]
print('id_L1[2] %d' % id(L1[2])) # id_L1[2] 9466688
print('id_L2[2] %d' % id(L2[2])) # id_L2[2] 9466624

如果你能讀到這里,恭喜你已經(jīng)對(duì)Python深拷貝和淺拷貝有了從實(shí)踐層面最深刻的體會(huì)了。如果想閱讀更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁名稱:Python深拷貝和淺拷貝使用方法
網(wǎng)頁鏈接:http://jinyejixie.com/article46/ppioeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站內(nèi)鏈微信小程序、建站公司做網(wǎng)站、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
高碑店市| 巴林左旗| 原平市| 舒兰市| 涟源市| 清丰县| 望江县| 瓮安县| 诸暨市| 上思县| 安西县| 南郑县| 多伦县| 庆云县| 龙州县| 囊谦县| 额尔古纳市| 丹江口市| 伊川县| 长沙县| 巫溪县| 洪江市| 盐津县| 林州市| 宽城| 边坝县| 柞水县| 汨罗市| 封开县| 木兰县| 元朗区| 开鲁县| 南雄市| 哈巴河县| 邓州市| 横山县| 荃湾区| 昌黎县| 通辽市| 博兴县| 宁阳县|