【发布时间】:2010-10-11 15:40:03
【问题描述】:
是否存在适用于 Python 2.5.2 的 deepcopy 迭代版本的现有实现?复制模块中可用的 deepcopy 方法是递归的,并且在大树上失败。我无法在运行时安全地增加堆栈限制。
编辑
我确实找到了这个:
http://code.activestate.com/recipes/302535/
我没有测试过,但看起来很有潜力。
【问题讨论】:
-
哇——你说的树有多大?
-
几十万小费。我不记得内部节点的总数。
-
最长分支的深度是多少?
-
取决于输入数据是什么,树的预期用途是什么,等等......虽然数据集本身是无关紧要的。如果我们现在打破 deepcopy,我们已经达到了扩展能力的极限。在接下来的几年里,我们需要将树木规模扩大几个数量级。
-
我在一个相对适中的 xml.dom 对象上也遇到了这个问题,该对象是我的一个对象的属性。
标签: python recursion iteration