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

Зачем нужен итератор

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

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

Основные преимущества:

  1. Ленивые вычисления — элементы обрабатываются по одному, что экономит память.
  2. Универсальность — единый интерфейс для работы с разными коллекциями (списки, словари, файлы и т.д.).

Пример:

python
class Counter:
    def __init__(self, max_num):
        self.max_num = max_num

    def __iter__(self):
        self.current = 0
        return self

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

for num in Counter(3):
    print(num)  # 1, 2, 3

Итераторы используются в for, генераторах и функциях типа map(), filter().

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

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

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

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