list(iterator2)
['h', 'i']
>>> list(iterator)
[]
>>>
Почему list(iterator) выводит пустой список ? Итераторы разделяют состояние?
Потому что итератор не переиспользуем
iterator2 это тот же итератор, а не общее состояние у них
А что происходит когда к итератору iter применяется? Он по прежнему остаётся итератором?
itertools.tee()
Итератор обязан возвращать себя же в методе __iter__, который и вызывает функция iter.
Обсуждают сегодня