(使用Python 2.7)如何創建未鏈接到原始對象的python對象的副本?
我想創建一個模板對象的複製品,以便稍後填充。爲了簡單起見,我試圖做這樣的:
template={'thing1':'','thing2':'','thing3':''}
for number in some_list:
pile[number]=template
但後來當我這樣做:
pile[1]['thing1']='blahblah'
這也導致:
print pile[2]['thing1']
'blahblah'
print template['thing1']
'blahblah'
我想要的是
pile[1]['thing1']='blahblah'
離開樁[2]獨自一人,使
print pile[2]['thing1']
''
我知道,問題是,當我說
pile[number]=template
這意味着樁[1]爲模板,和樁[2]模板。 (這只是我在工作時才完全實現的...而且我大聲地重複了幾次,因爲它的實現和它的含義慢慢沉沒......這就是python 工作原理,呃?我覺得我剛剛加入python俱樂部,我從MATLAB開始,所以不要太粗糙。)
所以我想可能有兩種方法可以解決這個問題 - 一種涉及某種複製對象鏈接到原始的,或類似的東西,可能非常簡單明瞭。也許還有另外一種方法可以做到特定於字典,比如初始化密鑰或其他東西。我主要對第一種答案感興趣,因爲這有助於我理解python 的工作原理,但第二種答案也不錯。謝謝:)
這是宏偉的。一個叫做「複製」的python方法,嗯,複製字典。謝謝你,先生。該文檔也有幫助。 – andy 2013-03-22 20:20:02