我想将python对象复制到任意深度。例如
copy.deepcopy(my_object, 3)
会将my_object
深度复制到三个深度,然后浅层复制任何深于3的东西。
是否有一些已经存在的python函数可以执行此操作?如果没有什么是最有效的方法呢?
答案 0 :(得分:-1)
根据文档(和我的测试)copy.deepcopy
不会采取额外的论证(好吧,但不是深度),copy.deepcopy(my_object, 3)
会导致AttributeError: 'int' object has no attribute 'get'
(因为它期望这里改为memo
对象。
另一方面,copy.deepcopy
不需要额外的参数。你可以打电话给copy.deepcopy(my_object)
,它会无限期地复制。
你可能会碰到一些让这个副本行为不端的catcha。基本上,根据对象是否具有对深拷贝的适当支持,您最终可能会复制太多或太少。