Pythonの再帰の深さについてあれこれ
この前、コードを書いていたら次のエラーが出た。
RuntimeError: maximum recursion depth exceeded
どうやら再帰の回数の限界を超えてしまったようだ。で、調べてみるとこれらが引っかかった。
・http://hep.planet-koo.com/index.php?g=tech&sid=py_reclimit
・Stackless Pythonで関数呼び出しの深さ制限を突破する - ラシウラ
どうやら、再帰の深さはデフォルトで1000が限界だということがわかった。
また、
sys.getrecursionlimit()
・http://docs.python.org/library/sys.html#sys.getrecursionlimit
これでそのときの再帰の深さの最大値を取得し、
sys.setrecursionlimit(limit)
・http://docs.python.org/library/sys.html#sys.setrecursionlimit
これで再帰の深さの最大値を設定する。