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

Для чего нужен итератор в Python

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

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

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

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

Пример:

python
class Counter:
    def __init__(self, start, end):
        self.current = start
        self.end = end

    def __iter__(self):
        return self

    def __next__(self):
        if self.current > self.end:
            raise StopIteration
        result = self.current
        self.current += 1
        return result

# Использование:
for num in Counter(1, 3):
    print(num)  # 1, 2, 3

Итераторы лежат в основе циклов for, генераторов и многих встроенных функций (map, filter, zip).

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

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

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

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