1. 程式人生 > 程式設計 >簡單瞭解Python字典copy與賦值的區別

簡單瞭解Python字典copy與賦值的區別

描述

Python 字典(Dictionary) copy() 函式返回一個字典的淺複製。

語法

copy()方法語法:

dict.copy()

返回值

返回一個字典的淺複製。

例項

以下例項展示了 copy()函式的使用方法:

dict1 = {'Name': 'Zara','Age': 7};
 
dict2 = dict1.copy()
print "New Dictinary : %s" % str(dict2)

New Dictinary : {'Name': 'Zara','Age': 7}

直接賦值和 copy 的區別

可以通過以下例項說明:

dict1 = {'user':'runoob','num':[1,2,3]}
 
dict2 = dict1     # 淺拷貝: 引用物件
dict3 = dict1.copy()  # 淺拷貝:深拷貝父物件(一級目錄),子物件(二級目錄)不拷貝,還是引用
 
# 修改 data 資料
dict1['user']='root'
dict1['num'].remove(1)
 
# 輸出結果
print(dict1)
print(dict2)
print(dict3)

{'user': 'root','num': [2,3]}
{'user': 'root',3]}
{'user': 'runoob',3]}

例項中 dict2 其實是 dict1 的引用(別名),所以輸出結果都是一致的,dict3 父物件進行了深拷貝,不會隨dict1 修改而修改,子物件是淺拷貝所以隨 dict1 的修改而修改。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。