Я хочу использовать next
, чтобы пропустить один или несколько элементов, возвращаемых из генератора. Вот упрощенный пример, предназначенный для пропуска одного элемента в цикле (при фактическом использовании я бы протестировал n
и, в зависимости от результата, мог бы повторить next()
, а генератор получен из пакета, который я не контролирую):
def gen():
for i in range(10):
yield i
for g in gen():
n = next(gen())
print(g, n)
Я ожидал, что результат будет
0 1
2 3
и т.д.
Вместо этого я получил
0 0
1 0
и т.д.
Что я делаю не так?