Почему после того, как итератор был заархивирован, следующее значение, полученное от него, пропускает то, которое следов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
Я упустил что-то очевидное?
Примечание. Предоставьте достоверные ссылки на ответы, которые могут быть неочевидными.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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