2
Python是否有遞歸序列生成函數?例如,遞歸序列生成器
def generateSequence(seed, f, n):
sequence = list(seed)
for i in range(n):
sequence.append(f(sequence, i))
return sequence
可以使用像這樣:
fibSequence = generateSequence([0, 1], lambda x, i: x[-1] + x[-2], 8)
生產出:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
'對於我在範圍(n)中:yield f(sequence,i)'? –
那麼,因爲'seed'是一個列表,'sequence = seed'沒有太大的成就,所以你可以刪除那一行。由於該列表是從外部傳入的,因此可能不需要返回它 - 只需保存對列表的引用,然後傳入該引用而不是使用文字。至少可以帶走一些「垃圾」。 – TigerhawkT3
我不明白你的意思是遞歸序列生成器。 –