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]
'for i in range(n):yield f(sequence、i) '? –
さて、 'seed'はリストなので、' sequence = seed'はあまり効果がないので、その行を削除することができます。そして、そのリストが外部から渡されたので、返す必要はないかもしれません - リストへの参照を保存し、リテラルを使用する代わりにその参照を渡すだけです。それは、少なくとも「ジャンク」の一部を取り除く。 – TigerhawkT3
再帰的シーケンスジェネレータが意味することを理解できません。 –