如何将python对象复制到任意深度?

时间:2015-08-03 03:54:47

标签: python python-2.7

我想将python对象复制到任意深度。例如

copy.deepcopy(my_object, 3)会将my_object深度复制到三个深度,然后浅层复制任何深于3的东西。

是否有一些已经存在的python函数可以执行此操作?如果没有什么是最有效的方法呢?

1 个答案:

答案 0 :(得分:-1)

根据文档(和我的测试)copy.deepcopy不会采取额外的论证(好吧,但不是深度),copy.deepcopy(my_object, 3)会导致AttributeError: 'int' object has no attribute 'get'(因为它期望这里改为memo对象。

另一方面,copy.deepcopy不需要额外的参数。你可以打电话给copy.deepcopy(my_object),它会无限期地复制。

你可能会碰到一些让这个副本行为不端的catcha。基本上,根据对象是否具有对深拷贝的适当支持,您最终可能会复制太多或太少。