0

multiple times同じ関数を変数 (およびその出力)に適用するための Python のショートカットはありますか?

何かのようなもの:

# n times foo(x)

それ以外の

foo(foo(foo...(foo(x))))...)
4

3 に答える 3

5
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)
于 2012-05-16T05:42:19.517 に答える
3
def double(x):
    return x * 2

i = 44
for i in xrange(1,100):
    i = double(i)

単純な for ループを意味しますか?

于 2012-05-16T05:42:26.940 に答える
1

私が考えることができる方法の1つは、これを行うための一般的な再帰関数を作成することです

def repeatX(foo, output, count):
      if not count:
         return output
      else:
         return repeatX(foo, foo(output), count -1)
于 2012-05-16T05:51:15.240 に答える