multiple times
同じ関数を変数 (およびその出力)に適用するための Python のショートカットはありますか?
何かのようなもの:
# n times foo(x)
それ以外の
foo(foo(foo...(foo(x))))...)
for i in range(n):
x = foo(x)
x を保持する必要がある場合は、別の名前を使用してください
baz = x
for i in range(n):
baz = foo(baz)
ショートカットがどうしても必要な場合 (例: codegolf の場合)
reduce(lambda x,y:foo(x),[x]*n)
def double(x):
return x * 2
i = 44
for i in xrange(1,100):
i = double(i)
単純な for ループを意味しますか?
私が考えることができる方法の1つは、これを行うための一般的な再帰関数を作成することです
def repeatX(foo, output, count):
if not count:
return output
else:
return repeatX(foo, foo(output), count -1)