python中是否有将相同函数multiple times
应用于变量(及其输出)的快捷方式?
就像是:
# 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循环吗?
我能想到的一种方法是创建一个通用递归函数来做到这一点
def repeatX(foo, output, count):
if not count:
return output
else:
return repeatX(foo, foo(output), count -1)