В чём состоит идея итераторов и зачем они нужны, если список или кортеж можно перебрать через индексацию в цикле while?

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

В Python итераторы реализуют методы __iter__() и __next__(). Когда мы используем цикл for, Python автоматически вызывает эти методы для получения следующего элемента.

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

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

print(next(iterator))  # 1
print(next(iterator))  # 2
print(next(iterator))  # 3
# При следующем вызове next(iterator) будет вызвано исключение StopIteration

Итераторы удобны тем, что позволяют работать с большими или даже бесконечными последовательностями, загружая элементы по одному, экономя память и упрощая код обхода коллекций.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее