python 字典中的copy函式的淺拷貝問題

2021-08-05 22:41:39 字數 581 閱讀 5380

python淺拷貝與深拷貝

淺拷貝是指拷貝的只是原物件元素的引用,換句話說,淺拷貝產生的物件本身是新的,但是它的內容不是新的,只是對原物件的乙個引用。

深拷貝是複製乙個內容而不是簡單的複製引用而已

換句話說:有指標的情況下,淺拷貝只是增加了乙個指標指向已經存在的記憶體,而深拷貝就是增加乙個指標並且申請乙個新的記憶體,使這個增加的指標指向這個新的記憶體

也就是說,在淺拷貝情況下,不同引用指向的是同一塊記憶體,改其中乙個引用,那麼其他引用也會跟著改變

舉個例子:

mydict=

newdict=mydict.copy()

newdict['a']=7

newdict[3][0]='z'

print mydict

print newdict

執行結果

既然是淺拷貝,應該鍵a的值都為7才對,後經過查閱資料得知,如果物件本身是不可變的,那麼淺拷貝時也會產生兩個值

可變型別: 列表,字典

不可變型別:數字,字串,元組

Python中字典的copy方法總結

字典中copy方法是複製乙個字典的鍵值對。使用copy方式叫做 淺複製 這其中有兩個概念要弄清楚1.值的替換 2.值的修改 1.值的替換 x a 1 b 2 c 1,2,3 y x.copy y a 2 這叫值的 替換 並不會改變x y c remove 2 q 字典中的鍵值對是怎麼儲存的?是有序的...

python 字典的建立,更改,比較,字典工廠函式

t1 a b c t2 100,200,300 lista zip t1,t2 d 空字典 d2 dict 字典工廠函式 d3 dict.fromkeys abcdefg 0 字典函式 d4 fromkeys xyzabc 100 字典函式 d5 dict lista 字典工廠函式 d6 d5.co...

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

描述 python 字典 dictionary copy 函式返回乙個字典的淺複製。語法copy 方法語法 dict.copy 返回值返回乙個字典的淺複製。例項以下例項展示了 copy 函式的使用方法 dict1 dict2 dict1.copy print new dictinary s str ...