【发布时间】:2013-02-19 07:11:08
【问题描述】:
copy.copy() 和 copy.deepcopy() 只是复制不可变对象(如元组)的引用。
如何在不同的内存位置创建第一个不可变对象的副本?
【问题讨论】:
-
oldtuple[:]或newtuple = tuple(oldtuple) -
为什么还要复制它,如果它是不可变的,那么你确定引用不够好?
-
@wim 是的。我期待有人问这个。但是还有办法吗?
-
不知道有没有办法。我想不出在内存中需要两个不同版本的
(1, 2)的用例。您要解决什么编程问题,导致您需要复制不可变对象? -
考虑“object = (1, [child_object])”的情况,我想修改child_object,使用后销毁修改(输出,什么的),同时保留原来的