sys.setrecursionlimitで再帰可能な回数の上限を変更できるのか。知らなかった。
>>> import sys >>> sys.setrecursionlimit(100000) >>> def sum2(lst): ... if lst: ... return lambda :lst[0]+sum2(lst[1:])() ... else: ... return lambda :0 ... >>> sum2(range(10000)) <function <lambda> at 0x00CCDEB0> >>> _() 49995000
おもしれー。