2017-08-25 24 views
0

我在使用python的append函數時遇到了一個問題。 如果喜歡我的代碼:有關Python中的「追加」函數的一些問題

a={} 
a[1]=[1] 
b=copy(a) 
b[1].append(2) 
print (a) 

的結果將是:

{1: [1, 2]} 

爲什麼呢?我認爲使用複製功能,任何與b相關的地址都不會影響a。但是這個追加函數真的很奇怪!任何人都可以告訴我這是如何工作的?我怎麼能追加一些東西而不影響原始地址? 非常感謝!

+0

你需要做一個深層次的。 –

回答

0

copy只做淺拷貝。列表元素a[1]仍被引用複製。

+0

thx很多。我將副本更改爲deepcopy,並且它可以工作! –