Python 的 DeepCopy 的迭代版本

dan*_*iel 5 python iteration recursion

Python 2.5.2 是否有深度复制迭代版本的现有实现?复制模块中提供的深度复制方法是递归的,并且在大型树上失败。我无法在运行时安全地增加堆栈限制。

编辑

我确实追踪到了这一点:

http://code.activestate.com/recipes/302535/

我还没有测试过,但看起来它有潜力。

Sop*_*ert 1

我不确定这是否有意义。难道不是deepcopy每个对象都会要求其子对象复制自己吗?

想必您确切地知道要复制的对象类型以及它的子对象是什么样的,所以如果我是您,我只会编写自己的函数来复制它。不应该太难。

  • 不,应该不难。但是,我们经常遇到递归限制。我更喜欢一个被滥用且强大的先前实现,可以处理任意对象。 (2认同)