人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

Python 中的 copy()和deepcopy()

發(fā)布日期:2021-12-13 16:19 | 文章來源:源碼之家

在處理列表和字典時(shí),盡管傳遞引用常常是最方便的方法,但如果函數(shù)修改了傳入的列表或字典,可能不希望這些變動(dòng)影響原來的列表或字典。要做到這一點(diǎn),Python提供了名為copy的模塊,其中包含copy()deepcopy()函數(shù)。

第一個(gè)函數(shù)copy.copy() ,可以用來復(fù)制列表或字典這樣的可變值,而不是只復(fù)制引用。

兩者的區(qū)別是copy.copy()是這復(fù)制了列表或字典的值,但是引用還是同一個(gè)。而copy.deepcopy()是產(chǎn)生一個(gè)新的引用使新的變量和被復(fù)制變量引用不同。

看下面的示例代碼:

1、copy.copy()

示例代碼:

import copy
spam = ['A','B','C','D',[1,2,3,4]]
cheese = copy.copy(spam)
spam[0] = 42
print(spam)

運(yùn)行結(jié)果:

[42,'B','C','D',[1,2,3,4]]

根據(jù)結(jié)果可以看出,使用copy.copy()函數(shù)時(shí),cheese是復(fù)制了spam列表引用,對spam列表操作時(shí),也會(huì)對cheese列表產(chǎn)生影響。這也被稱為淺copy。

2、deepcopy.copy()

示例代碼:

#Python學(xué)習(xí)交流群:778463939
import copy
spam = ['A','B','C','D',[1,2,3,4]]
cheese = copy.deepcopy(spam)#不同部分
spam[0] = 42
print(spam)

運(yùn)行結(jié)果:

[42,'B','C','D',[1,2,3,4]]

根據(jù)結(jié)果可以看出,使用deepcopy()時(shí),對spam列表操作不會(huì)對cheese列表產(chǎn)生影響,這是因?yàn)?code>deepcopy()是產(chǎn)生一個(gè)新的引用,這樣spamcheese

是兩個(gè)不同的引用所以在對spam列表操作時(shí)不會(huì)對cheese列表產(chǎn)生影響。

到此這篇關(guān)于Python 中的 copy()和deepcopy()的文章就介紹到這了,更多相關(guān)Python copy()和deepcopy()內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部