Найти - Пользователи
Полная версия: продолжаем с места, на котором мы вышли из предыдущего цикла
Начало » Python для новичков » продолжаем с места, на котором мы вышли из предыдущего цикла
1
Imarden
Читаю: http://habrahabr.ru/post/84330/

Непонятный пример:
Итераторы полезны, когда вы хотите сохранить позицию в цикле между двумя запусками:
itrL = iter(L)
for item in itrL:
  do_something(item)
  if is_some_condition(item):
    break
for item in itrL:  # продолжаем с места, на котором мы вышли из предыдущего цикла
  do_something_else(item)

Попробовал реализовать пример:
itrL = range(3)
for item in itrL:
  print(item, '1')
  if item==2:
    break
for item in itrL:
  print(item, '2')

Но он не работает как написано:
(0, ‘1’)
(1, ‘1’)
(2, ‘1’)
(0, ‘2’)
(1, ‘2’)
(2, ‘2’)
Может имелось ввиду другое?
Shaman
iter(range(5))
?
Imarden
Работает
itrL = iter(range(10))
for item in itrL:
  print(item, '1')
  if item==5:
    break
for item in itrL:
  print(item, '2')

(0, ‘1’)
(1, ‘1’)
(2, ‘1’)
(3, ‘1’)
(4, ‘1’)
(5, ‘1’)
(6, ‘2’)
(7, ‘2’)
(8, ‘2’)
(9, ‘2’)

Спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB