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

Что такое итератор в Python

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

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

Пример создания и использования:

python
class Count:
    def __init__(self, limit):
        self.current = 0
        self.limit = limit

    def __iter__(self):
        return self

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

counter = Count(3)
for num in counter:
    print(num)  # Выведет 0, 1, 2

Встроенные коллекции (list, tuple, dict) уже являются итерируемыми объектами. Итераторы экономят память, так как не хранят всю коллекцию, а генерируют элементы по требованию.

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

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

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

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