抱歉,这似乎是一个基本问题,但我在任何地方都找不到。在 Python 2 中,我想将一个 1 变量函数应用于其自己的输出,存储所有步骤的列表,即如果 f(x) 返回 x*x 然后从 2 迭代,我需要得到
[2, 4, 16, 256, 65536, ...]
理想情况下,我需要传入我的函数f
、第一个输入1
以及我想保留的迭代次数。
我想这在某种意义上与函数式编程相反reduce
并且有点相似unfold
。
一个天真的方法是写
out = [2]
for x in xrange(5):
out.append(f(out[-1]))
什么是一个好的 Pythonic 方式来做到这一点?非常感谢你。