入力データの中には、再帰深度エラーを超えるものがあるため、次の関数の再帰を解消したい。 Increasing the recursion depthは、長期的には解決策ではありません。ネストされたリストをトラバースし、再帰を伴わない各要素に相互依存する値を代入する(Python)
def foo(x):
for element in x.elements:
element.depth = x.depth + 1
self.foo(element)
は元のリスト構造を保持する必要があるため適用されません。
This solutionは、再帰を含むジェネレータを使用します。それが発電機であるという事実は違いを生みますか?
最後に、stack approachがあります。ここでは、これが割り当てられる値の相互依存性から100%適用可能かどうかはわかりません。
エレガントな(Pythonic)、非再帰的な解決策は何でしょうか?