Как я изменяю генератор в Python?

Существует ли единый интерфейс в Python, из которого я мог произойти изменить поведение генератора?

Например, я хочу изменить существующий генератор, чтобы вставить некоторые значения в поток и удалить некоторые другие значения.

Как я делаю это?

Спасибо, Boda Cydo

7
задан bodacydo 10 March 2010 в 23:06
поделиться

2 ответа

Вы можете использовать функции, предоставляемые itertools , чтобы взять генератор и создать новый генератор.

Например, вы можете использовать takewhile до тех пор, пока предикат больше не будет выполняться, и chain для новой серии значений.

Посмотрите в документации другие примеры, включая такие вещи, как ifilter , drop while и islice , чтобы назвать еще несколько.

7
ответ дан 6 December 2019 в 19:35
поделиться

Вы можете просто обернуть генератор в свой собственный генератор.

from itertools import count

def odd_count():
    for i in count():
        if i % 2:
            yield i
6
ответ дан 6 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: