Есть ли в Python общий интерфейс, из которого я мог бы извлечь изменяющее поведение генератора?
Например, я хочу изменить существующий генератор, чтобы вставить некоторые значения в поток и удалить другие.
Как мне это сделать?
Спасибо, Бода Кидо
Вы можете использовать функции, предоставляемые itertools , чтобы взять генератор и произвести новый генератор.
Например, вы можете использовать takewhile до тех пор, пока предикат больше не будет выполнен, и chain для новой серии значений.
Взгляните на документацию для других примеров, включая такие вещи, как ifilter , dropwise и islice и многие другие.
Вы можете просто обернуть генератор в свой собственный генератор.
from itertools import count def odd_count(): for i in count(): if i % 2: yield i