Пусть t = (1, 2, 3). Что произойдёт при попытке выполнить t[0] = 10?
AКортеж изменится на
(10, 2, 3) без каких-либо ошибок и предупрежденийBБудет исключение
TypeError, потому что кортежи в Python неизменяемыCPython молча создаст новый кортеж
(10, 2, 3) и присвоит его переменной tDЭлемент
t[0] станет равен 10, а остальные элементы кортежа удалятсяПравильный ответ. Кортежи в Python неизменяемы, поэтому присвоить значение по индексу нельзя — будет
TypeError.Разбор
Кортеж — неизменяемая последовательность, у него нет операции присвоения по индексу. Поэтому t[0] = 10 сразу вызовет TypeError с сообщением о том, что объект не поддерживает присвоение элементов. Если значение действительно нужно изменить, придётся собрать новый кортеж: например, t = (10,) + t[1:]. Это ключевое отличие кортежей от списков, где t[0] = 10 работает штатно.
Проверь себя · 1/3разбор после ответа
Чему равно значение переменной
result после выполнения строки result = 3 < 5?Ещё вопросы по теме «Синтаксис и типы данных»
- Какой результат вернёт вызов `type(10)`?
- После выполнения `y = str(42)` чему равен `y` и какой у него тип?
- Какая проверка наиболее корректна и идиоматична, чтобы убедиться, что переменная `x` равна `None`?
- Чему равно значение переменной `result` после выполнения строки `result = 3 < 5`?
- Что вернёт выражение `" Python ".strip()`?
- Все вопросы по «Синтаксис и типы данных» →