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