Python中字典的淺拷貝與深拷貝用法實(shí)例分析
本文實(shí)例講述了Python中字典的淺拷貝與深拷貝用法。分享給大家供大家參考,具體如下:
最近發(fā)現(xiàn)的一個(gè)很值得記錄的東西就是python字典的淺拷貝問(wèn)題
首先,明確一下什么是淺拷貝,什么是深拷貝:
簡(jiǎn)單的來(lái)說(shuō)就是,在有指針的情況下,淺拷貝只是增加了一個(gè)指針指向已經(jīng)存在的內(nèi)存,而深拷貝就是增加一個(gè)指針并且申請(qǐng)一個(gè)新的內(nèi)存,使這個(gè)增加的指針指向這個(gè)新的內(nèi)存
也就是說(shuō),在淺拷貝情況下,不同引用指向的是同一塊內(nèi)存,改其中一個(gè)引用,那么其他引用也會(huì)跟著改變
應(yīng)用到python 的字典復(fù)制過(guò)程:
# coding: utf-8
import copy
dict ={"a":"apple","o":"orange"}
dict1 = dict
dict2 = copy.copy(dict)
dict3 = copy.deepcopy(dict)
print "腳本之家測(cè)試結(jié)果:"
print dict1
print dict2
print dict3
dict["a"]="watermelon"
print dict1
print dict2
print dict3
運(yùn)行結(jié)果:

說(shuō)明直接賦值是一種淺拷貝方式,而后兩種是深拷貝方式
有的地方說(shuō)copy.copy是淺拷貝,經(jīng)我的驗(yàn)證它也是深拷貝,不知道是不是python的版本問(wèn)題
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python字典操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門(mén)與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Scrapy基于scrapy_redis實(shí)現(xiàn)分布式爬蟲(chóng)部署的示例
這篇文章主要介紹了Scrapy基于scrapy_redis實(shí)現(xiàn)分布式爬蟲(chóng)部署的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
python使用beautifulsoup4爬取酷狗音樂(lè)代碼實(shí)例
這篇文章主要介紹了python使用beautifulsoup4爬取酷狗音樂(lè)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
對(duì)python 樹(shù)狀嵌套結(jié)構(gòu)的實(shí)現(xiàn)思路詳解
今天小編就為大家分享一篇對(duì)python 樹(shù)狀嵌套結(jié)構(gòu)的實(shí)現(xiàn)思路詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
python中使用PIL制作并驗(yàn)證圖片驗(yàn)證碼
本篇文章給大家分享了python中使用PIL制作并驗(yàn)證圖片驗(yàn)證碼的具體代碼以及說(shuō)明,需要的朋友參考下吧。2018-03-03
解決項(xiàng)目pycharm能運(yùn)行,在終端卻無(wú)法運(yùn)行的問(wèn)題
今天小編就為大家分享一篇解決項(xiàng)目pycharm能運(yùn)行,在終端卻無(wú)法運(yùn)行的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
Python?計(jì)算機(jī)視覺(jué)編程進(jìn)階之圖像特效處理篇
計(jì)算機(jī)視覺(jué)這種技術(shù)可以將靜止圖像或視頻數(shù)據(jù)轉(zhuǎn)換為一種決策或新的表示。所有這樣的轉(zhuǎn)換都是為了完成某種特定的目的而進(jìn)行的,本篇我們來(lái)學(xué)習(xí)下如何對(duì)圖像進(jìn)行特效處理2021-11-11
Django rest framework基本介紹與代碼示例
這篇文章主要介紹了Django rest framework基本介紹與代碼示例,簡(jiǎn)單敘述了rest framework的一些用處,可選擇的相關(guān)軟件包,然后分享了一個(gè)簡(jiǎn)單的模型支持的API的例子,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
一文教你將Visual Studio Code變成Python開(kāi)發(fā)神器
Visual Studio Code 是一款功能強(qiáng)大、可擴(kuò)展且輕量級(jí)的代碼編輯器,經(jīng)過(guò)多年的發(fā)展,已經(jīng)成為 Python 社區(qū)的首選代碼編輯器之一。本文將為大家介紹一下如何將Visual Studio Code變成Python開(kāi)發(fā)神器,需要的可以參考一下2022-07-07

