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

Как работает итератор

Итератор — это объект, который позволяет последовательно получать элементы из коллекции. Он реализует два метода:

  • __iter__() — возвращает сам итератор (обычно self).
  • __next__() — возвращает следующий элемент или вызывает StopIteration, если элементов больше нет.

Пример:

python
class CountUpTo:
    def __init__(self, max):
        self.max = max
        self.current = 0

    def __iter__(self):
        return self

    def __next__(self):
        if self.current < self.max:
            self.current += 1
            return self.current
        raise StopIteration

counter = CountUpTo(3)
for num in counter:  # Итерация через for
    print(num)  # 1, 2, 3

Итераторы экономят память, так как генерируют элементы "на лету", а не хранят всю коллекцию. Встроенные функции (iter(), next()) и цикл for используют их автоматически.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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