Дан список nums = [10, 20, 1, 30]. Чем отличаются nums.remove(1) и del nums[1]?

A.remove(1) удаляет значение 1, а del nums[1] удаляет элемент по индексу 1, то есть 20
B.remove(1) удаляет элемент по индексу 1, то есть 20, а del nums[1] ищет значение 1
Cdel nums[1] удаляет первое вхождение значения 1, а .remove(1) удаляет элемент по индексу 1
DОба вызова делают одно и то же: удаляют элемент 20 по индексу 1 из списка nums
Правильный ответ. .remove(x) ищет и удаляет первое вхождение значения x, а del lst[i] удаляет элемент по индексу i.

Разбор

nums.remove(1) находит первое вхождение числа 1 (индекс 2) и удаляет его, оставив [10, 20, 30]. А del nums[1] удаляет элемент с индексом 1 (число 20), оставив [10, 1, 30]. Путаница возникает, когда значение совпадает с допустимым индексом. Если значения нет, .remove() выбросит ValueError.

Проверь себя · 1/3разбор после ответа
Дан список nums = [10, 20, 1, 30]. Чем отличаются nums.remove(1) и del nums[1]?
Тренировать Python в Telegram

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