2016-11-29 14 views
0

我需要複製一些對象,並且我讀了copy.copy模塊可以在Python上執行此操作。問題是,這些對象有一些屬性是長陣列。Python中的copy.copy的效率

那麼這種方法是否有效?由於我在做這項工作,因此表現很重要。

有沒有更好的方法來做到這一點?

我需要這個,因爲我需要修改一些來自原始對象的屬性,但是之後我需要它而不需要修改,就像一個輔助。

乾杯。

+1

你能否粘貼這樣的對象的一個​​或兩個例子?更多,你讀過[this](http://stackoverflow.com/questions/184643/what-is-the-best-way-to-copy-a-list)和[this](http:// stackoverflow。 com/questions/2612802 /如何克隆或複製列表)? – 2016-11-29 08:33:37

+0

如果您需要保存所有屬性保持不變的原始對象,請使用'copy.deepcopy'。 –

+0

也許你可以寫一個複製方法,它只是複製copy.deepcopy的屬性,並保持長陣列不變,它們不需要作爲副本 –

回答

0

copy.copy創建對象的淺表副本,其中有一個很好的描述here docs.python.org/2/library/copy.html。 deepcopy由於它必須遞歸複製對象的所有屬性,因此性能差得多,但deepcopy創建了對象的真實獨立副本。