Что произойдёт при выполнении кода t = (1, 2); t[0] = 9?

AИзменит первый элемент по индексу, и t станет равен (9, 2).
BСоздаст новый кортеж со значением (9, 2), а исходный t останется (1, 2).
CАвтоматически преобразует t в список и присвоит 9 первому элементу.
DПоднимет TypeError, потому что элементы кортежа нельзя менять по индексу.
Правильный ответ. Элементы tuple нельзя менять по индексу: попытка присваивания приводит к TypeError.

Разбор

Кортеж — неизменяемая коллекция, поэтому операция вида t[0] = ... запрещена. Интерпретатор сразу поднимает TypeError с сообщением о том, что объект не поддерживает присваивание по элементу. Если нужна изменяемость, используйте list. Если нужна фиксированная структура (например, пара значений), кортеж помогает избежать случайных изменений и может использоваться как ключ словаря.

Проверь себя · 1/3разбор после ответа
Дан список пар pairs = [('views', 5), ('clicks', 6), ('purchases', 9)]. Что вернёт выражение {k: v for k, v in pairs}?
Тренировать Python в Telegram

Ещё вопросы по теме «Коллекции и структуры данных»