Существует ли способ злоупотреблять выражениями назначения или функциональных инструментов для генерации последовательности x, f (x), f (f (x)), ... в одной строке?def iter(x, f, lim=10):
for _ in range(lim):
yield x
x = f(x)
iter(1, lambda x: (2*x)%99)
< /code>
(это делает одну дополнительную функцию, которая не используется. В идеале это избегается.) Идея состоит в том, чтобы использовать бинарную функцию, но игнорировать элементы списка! Это не очень хорошее использование накопления. < /P>
from itertools import accumulate
list(accumulate([None]*10, lambda x,y:2*x, initial=1))
Подробнее здесь: https://stackoverflow.com/questions/796 ... iterations
Последовательность итераций функций ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение