Нужно получить остаток итератора в python - PullRequest
2 голосов
/ 03 августа 2009

Скажем, у меня есть итератор.
После перебора нескольких элементов итератора мне придется избавиться от этих первых нескольких элементов и вернуть итератор (желательно тот же) с остальными элементами. Как мне идти? Кроме того, поддерживают ли итераторы операции удаления или удаления (например, списки)?

Ответы [ 2 ]

6 голосов
/ 03 августа 2009

Также может быть полезна функция itertools.dropwhile():

dropwhile(lambda x: x<5, xrange(10))
6 голосов
/ 03 августа 2009

Да, просто используйте iter.next ()

Пример

iter = xrange(3).__iter__()

iter.next() # this pops 0

for i in iter:
  print i

1
2

Вы можете получить доступ к передней части итератора с помощью .next (). Вы не можете делать какие-либо другие необычные операции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...