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

說明直接賦值是一種淺拷貝方式,而后兩種是深拷貝方式
有的地方說copy.copy是淺拷貝,經我的驗證它也是深拷貝,不知道是不是python的版本問題
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python字典操作技巧匯總》、《Python數(shù)據(jù)結構與算法教程》、《Python加密解密算法與技巧總結》、《Python編碼操作技巧總結》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
相關文章
Scrapy基于scrapy_redis實現(xiàn)分布式爬蟲部署的示例
這篇文章主要介紹了Scrapy基于scrapy_redis實現(xiàn)分布式爬蟲部署的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
python使用beautifulsoup4爬取酷狗音樂代碼實例
這篇文章主要介紹了python使用beautifulsoup4爬取酷狗音樂代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12
Django rest framework基本介紹與代碼示例
這篇文章主要介紹了Django rest framework基本介紹與代碼示例,簡單敘述了rest framework的一些用處,可選擇的相關軟件包,然后分享了一個簡單的模型支持的API的例子,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-01-01
一文教你將Visual Studio Code變成Python開發(fā)神器
Visual Studio Code 是一款功能強大、可擴展且輕量級的代碼編輯器,經過多年的發(fā)展,已經成為 Python 社區(qū)的首選代碼編輯器之一。本文將為大家介紹一下如何將Visual Studio Code變成Python開發(fā)神器,需要的可以參考一下2022-07-07

