Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将python对象复制到任意深度?_Python_Python 2.7 - Fatal编程技术网

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

如何将python对象复制到任意深度?,python,python-2.7,Python,Python 2.7,我想将python对象复制到任意深度。比如说 copy.deepcopymy_对象,3会将my_对象深度复制到3,然后浅复制任何深度超过3的对象 是否有一些已经存在的python函数可以做到这一点?如果没有,最有效的方法是什么?根据文档和我的测试副本。deepcopy没有额外的参数,但没有深度,copy。deepcopy my_object,3导致AttributeError:'int'对象没有属性'get',因为它在这里需要一个memo对象 另一方面,copy.deepcopy不需要额外的参数

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

copy.deepcopymy_对象,3会将my_对象深度复制到3,然后浅复制任何深度超过3的对象


是否有一些已经存在的python函数可以做到这一点?如果没有,最有效的方法是什么?

根据文档和我的测试副本。deepcopy没有额外的参数,但没有深度,copy。deepcopy my_object,3导致AttributeError:'int'对象没有属性'get',因为它在这里需要一个memo对象

另一方面,copy.deepcopy不需要额外的参数。您可以调用copy.deepcopymy_对象,它将以无限深度进行复制


你可能会遇到一些catcha's,这会使复制品行为不端。基本上,您可能会复制太多或太少,这取决于对象是否具有对深度复制的适当支持。

我不知道有什么内置功能可以做到这一点。另外,如何做将取决于我的_对象是什么。我只是检查了的文档,没有找到“深度”参数。我遗漏了什么吗?inspect模块或dir函数中可能有一些实用程序。否则,我不确定。最后,这是一个有限递归下降问题,是吗?是的,我已经知道copy.deepcopy没有深度参数。你提到的catchas是我的问题,这就是为什么我想指定一个深度。这在你的问题中并不清楚。因为要做到这一点,就必须遇到其他实现_deepcopy____________________________________。