Есть ли ярлык в python для применения той же функции multiple times
к переменной (и ее выходу)?Приложения цепочки функций в python
Что-то вроде:
# n times foo(x)
вместо
foo(foo(foo...(foo(x))))...)
Есть ли ярлык в python для применения той же функции multiple times
к переменной (и ее выходу)?Приложения цепочки функций в python
Что-то вроде:
# n times foo(x)
вместо
foo(foo(foo...(foo(x))))...)
for i in range(n):
x = foo(x)
Если вам нужно сохранить х, использовать другое имя
baz = x
for i in range(n):
baz = foo(baz)
Если вы отчаянно для ярлык (например, для codegolf)
reduce(lambda x,y:foo(x),[x]*n)
Мне нравится ярлык: D – jamylak
ярлык слишком умный. –
def double(x):
return x * 2
i = 44
for i in xrange(1,100):
i = double(i)
Может вы имеете в виду простой цикл?
Один из способов я могу думать о создании универсального рекурсивной функции, чтобы сделать это
def repeatX(foo, output, count):
if not count:
return output
else:
return repeatX(foo, foo(output), count -1)
Непроверенная рекурсия в python - это почти всегда плохая идея. – BluePeppers
A 'for' цикл лучше всего подходит для этого. – jamylak