Что произойдёт при выполнении it = iter([]) и затем next(it)?

AВернёт значение None без ошибок.
BПоднимет исключение StopIteration.
CВернёт пустой список [] молча.
DПоднимет исключение IndexError.
Правильный ответ. next() без значения по умолчанию на исчерпанном итераторе всегда поднимает StopIteration.

Разбор

Пустой итератор iter([]) не имеет элементов, и первый же next(it) поднимает StopIteration — стандартный сигнал об окончании итерации. None вернулся бы только при явном втором аргументе: next(it, None). Пустой список [] next() возвращать не умеет — он отдаёт элементы, а не контейнеры. IndexError относится к индексации списков и в итераторе не возникает.

Проверь себя · 1/3разбор после ответа
Функция-генератор squares(n) делает yield i * i для i из range(n). Чему равно list(squares(3))?
Тренировать Python в Telegram

Ещё вопросы по теме «Итераторы и генераторы»