Пусть x = [10, 20, 30]. После выполнения del x[1] каким станет список и что произойдёт с переменной x?
AСписок станет
[10, 30], обращение к x после этого вызовет ошибку NameErrorBСписок станет
[10, 30], переменная x ссылается на тот же изменённый списокCСписок станет
[10, 30], переменная x будет равна None после удаления элементаDОбе строки вызовут ошибку
TypeError: del работает только с самой переменнойПравильный ответ. Оператор
del по индексу удаляет элемент из списка, сама переменная при этом сохраняется.Разбор
Инструкция del x[1] удаляет элемент с индексом 1 (значение 20) из списка. Список меняется на месте и становится [10, 30], а переменная x продолжает ссылаться на тот же объект. Если бы мы написали del x, удалилась бы сама переменная, и обращение к x после этого вызвало бы NameError. Значение None сюда не приходит — del ничего не присваивает, а просто удаляет элемент.
Проверь себя · 1/3разбор после ответа
Что будет в переменной цикла на каждой итерации
for x in enumerate(["a", "b", "c"])?Ещё вопросы по теме «Синтаксис и типы данных»
- Какой результат вернёт вызов `type(10)`?
- После выполнения `y = str(42)` чему равен `y` и какой у него тип?
- Какая проверка наиболее корректна и идиоматична, чтобы убедиться, что переменная `x` равна `None`?
- Чему равно значение переменной `result` после выполнения строки `result = 3 < 5`?
- Что вернёт выражение `" Python ".strip()`?
- Все вопросы по «Синтаксис и типы данных» →