Я обнаружил, что использую эти 2 пользовательских генератора и думаю: «Должна быть функция itertools или что-то, что уже делает это! Хотя я ничего не нашел. Я что-то упустил?* РЕДАКТИРОВАТЬ: позже я представлял, как overnover
можно использовать для генерации последовательности Фибоначчи, и я понял, что ее нужно обобщить, чтобы функция могла иметь более одного аргумента
def overnover(fn,*args):
while True:
args = fn(*args)
return args
Вы можете сделать:
fibInfo = overnover(lambda x,y: (x+y, x), 1, 1)
-> (2,1) ... (3, 2) ... (5, 3) ... (8, 5) ... и затем:
fib = imap(lambda x:x[0], fibInfo)
-> 2 ... 3 ... 5 ... 8 ...
спасибо, ребята!