Итератор — это объект, который позволяет последовательно обходить элементы коллекции без раскрытия её внутренней структуры.
В чём состоит идея итераторов и зачем они нужны, если список или кортеж можно перебрать через индексацию в цикле 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
Итераторы удобны тем, что позволяют работать с большими или даже бесконечными последовательностями, загружая элементы по одному, экономя память и упрощая код обхода коллекций.