Почему после того, как итератор был заархивирован, следующее значение, полученное от него, пропускает то, которое следовPython

Программы на Python
Anonymous
Почему после того, как итератор был заархивирован, следующее значение, полученное от него, пропускает то, которое следов

Сообщение Anonymous »

При попытке решить конкретный вопрос по кодированию гольфа я столкнулся с конкретным сценарием, поведение которого мне было трудно понять.
Сценарий заключался в сжатии итератора с последовательностью, и после операции транспонирования итератор находился на единицу дальше ожидаемого элемента.

Код: Выделить всё

>>> l = range(10)
>>> it = iter(l)
>>> zip(it, range(5))
[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)]
>>> next(it) #expecting 5 here
6
Я упустил что-то очевидное?
Примечание. Предоставьте достоверные ссылки на ответы, которые могут быть неочевидными.

Вернуться в «Python»