Я хочу создать генератор, который использует два генератора, но не потребляет входные данные обоих, если условие ложно.
Я использовал документы itertools в качестве справки что очень полезно, но кажется, что то, что я хочу сделать, невозможно в itertools.
вот тест, который я хочу передать:
def test_itertools_example(self):
import itertools
cond = itertools.cycle([True, False])
none = itertools.repeat(None)
data = itertools.count(1, 1)
every_other = (d if c else n for (c, d, n) in zip(cond, data, none))
assert next(every_other) == 1
assert next(every_other) is None
assert next(every_other) == 2 # this is 3 and i want 2 but 2 got dropped on the previous call
assert next(every_other) is None