Python中字典的淺拷貝與深拷貝用法實例分析
本文實例講述了Python中字典的淺拷貝與深拷貝用法。分享給大家供大家參考,具體如下:
最近發(fā)現(xiàn)的一個很值得記錄的東西就是python字典的淺拷貝問題
首先,明確一下什么是淺拷貝,什么是深拷貝:
簡單的來說就是,在有指針的情況下,淺拷貝只是增加了一個指針指向已經(jīng)存在的內(nèi)存,而深拷貝就是增加一個指針并且申請一個新的內(nèi)存,使這個增加的指針指向這個新的內(nèi)存
也就是說,在淺拷貝情況下,不同引用指向的是同一塊內(nèi)存,改其中一個引用,那么其他引用也會跟著改變
應(yīng)用到python 的字典復(fù)制過程:
# coding: utf-8 import copy dict ={"a":"apple","o":"orange"} dict1 = dict dict2 = copy.copy(dict) dict3 = copy.deepcopy(dict) print "腳本之家測試結(jié)果:" print dict1 print dict2 print dict3 dict["a"]="watermelon" print dict1 print dict2 print dict3
運行結(jié)果:
說明直接賦值是一種淺拷貝方式,而后兩種是深拷貝方式
有的地方說copy.copy是淺拷貝,經(jīng)我的驗證它也是深拷貝,不知道是不是python的版本問題
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python字典操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
Scrapy基于scrapy_redis實現(xiàn)分布式爬蟲部署的示例
這篇文章主要介紹了Scrapy基于scrapy_redis實現(xiàn)分布式爬蟲部署的示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09python使用beautifulsoup4爬取酷狗音樂代碼實例
這篇文章主要介紹了python使用beautifulsoup4爬取酷狗音樂代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12對python 樹狀嵌套結(jié)構(gòu)的實現(xiàn)思路詳解
今天小編就為大家分享一篇對python 樹狀嵌套結(jié)構(gòu)的實現(xiàn)思路詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08Django rest framework基本介紹與代碼示例
這篇文章主要介紹了Django rest framework基本介紹與代碼示例,簡單敘述了rest framework的一些用處,可選擇的相關(guān)軟件包,然后分享了一個簡單的模型支持的API的例子,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-01-01一文教你將Visual Studio Code變成Python開發(fā)神器
Visual Studio Code 是一款功能強大、可擴展且輕量級的代碼編輯器,經(jīng)過多年的發(fā)展,已經(jīng)成為 Python 社區(qū)的首選代碼編輯器之一。本文將為大家介紹一下如何將Visual Studio Code變成Python開發(fā)神器,需要的可以參考一下2022-07-07