Почему сжатие снова «перечисляет» итераторы, когда они уже заархивированы, а не продвигает их в Python 2.x?Python

Программы на Python
Ответить
Anonymous
 Почему сжатие снова «перечисляет» итераторы, когда они уже заархивированы, а не продвигает их в Python 2.x?

Сообщение Anonymous »

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

a = enumerate('abcdef')
b = enumerate('ghi')

for i, j in zip(a, b):
print(i, j)
if i[0] == 0:
next(itertools.islice(zip(a, b), 1, 1), None)
Для приведенного выше кода я ожидаю следующий результат при увеличении zip(a, b) на 1:

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

 ((0, 'a'), (0, 'g'))
((2, 'c'), (2, 'i'))
Однако он по-прежнему дает тот же результат, что и следующий код:

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

iter1 = enumerate('abcdef')
iter2 = enumerate('ghi')

for i, j in zip(a, b):
print(i, j)
выход:

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

((0, 'a'), (0, 'g'))
((1, 'b'), (1, 'h'))
((2, 'c'), (2, 'i'))
почему оператор next(itertools.islice(zip(a, b), 1, 1), None) не продвигает zip(a, b)?
Ответить

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

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

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

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

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