Встречается на собеседованиях • сегодня

Как взаимосвязаны цикл for и метод next в итераторе

Цикл for в Python неявно использует итераторы и метод next(). При работе с итерируемым объектом (например, списком), for вызывает iter() для получения итератора, затем в цикле вызывает next(), пока не получит StopIteration.

Пример:

python
my_list = [1, 2, 3]
iterator = iter(my_list)  # получаем итератор

# Эквивалент работы цикла for:
try:
    while True:
        item = next(iterator)  # получаем следующий элемент
        print(item)
except StopIteration:
    pass

Ключевые моменты:

  1. for автоматически обрабатывает StopIteration
  2. Каждый вызов next() продвигает итератор
  3. Итератор запоминает текущую позицию
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы