2016-11-29 61 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创建了对象的真实独立副本。