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

В чем разница между итератором и итерируемым объектом

Итерируемый объект (Iterable) — это объект, который можно перебирать в цикле for. Он реализует метод __iter__(), возвращающий итератор. Примеры: списки, кортежи, строки.

Итератор (Iterator) — это объект, который управляет перебором элементов. Он реализует метод __next__(), возвращающий следующий элемент, и __iter__(), возвращающий сам себя. Когда элементы заканчиваются, вызывается StopIteration.

Пример:

python
my_list = [1, 2, 3]  # Итерируемый объект
iter_obj = iter(my_list)  # Получаем итератор

print(next(iter_obj))  # 1
print(next(iter_obj))  # 2
print(next(iter_obj))  # 3
print(next(iter_obj))  # StopIteration

Ключевое отличие: итерируемый объект создает итератор, а итератор выполняет перебор. Все итераторы — итерируемые, но не наоборот.

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

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

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

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