remove, pop, del: удаление из списка
В Python несколько способов удалить элемент. Разберём, чем они отличаются и когда какой брать.
remove — по значению
remove(x) ищет первый элемент со значением x и удаляет его. Если такого значения нет — будет ошибка. Удобно, когда вы знаете, ЧТО удалить, но не знаете, на каком месте оно стоит.
pop — по индексу и с возвратом
pop(i) удаляет элемент на позиции i и возвращает его — можно сразу использовать. Без аргумента pop() убирает последний элемент. Это то, что нужно, когда важны и удаление, и само значение.
del — по позиции или срезу
del списка[i] удаляет элемент по индексу и ничего не возвращает. del умеет удалять и целый срез: del списка[1:3]. Это оператор, а не метод, поэтому синтаксис отличается.
Частая ошибка: удаление в цикле
Опасно удалять элементы, перебирая список тем же циклом: индексы сдвигаются, и часть элементов пропускается. Безопаснее собрать новый список нужных элементов (через генератор) — это привычный приём, который стоит освоить на практике.
Частые вопросы
Что выбрать, если известно значение? remove. Если известна позиция и нужно значение? pop.
Как очистить весь список? Методом clear() или присвоив пустой список.
Начать игру бесплатно