Python List.pop() — это встроенная функция, которая удаляет элемент в указанной позиции. Метод pop() принимает единственный аргумент в качестве позиции и возвращает удаленный элемент. Если индекс, переданный методу pop(), не находится в диапазоне или не существует в списке, он выдает исключение IndexError: pop index out of range.
Синтаксис
|
1 |
list.pop(index) |
Аргументы
Параметр index является обязательным, и это позиция, в которой нам нужно удалить элемент из списка.
Пример 1
|
1 2 3 4 |
GoT = ['Daenerys', 'Jon', 'Tyrion'] removedItem = GoT.pop(1) print(removedItem) |
Выход

Индекс списка в Python начинается с 0, а не с 1. Итак, если вам нужно извлечь 2-й элемент, вы должны передать 1 методу pop().
Пример 2
|
1 2 3 4 |
GoT1 = ['Daenerys', 'Jon', 'Tyrion'] removedItem1 = GoT1.pop(-1) print(removedItem1) |
Если мы передаем отрицательный индекс, он начнется с конца списка. Таким образом, в приведенном выше примере -1 означает последний элемент списка, которым является Tyrion. Так что этот элемент будет удален.
Выход

Если вам нужно удалить данный элемент из списка в Питон, используйте метод list remove().
Пример 3
Посмотрите на следующий сценарий, в котором индекс не существует в списке, и просмотрите результат.
|
1 2 3 4 |
GoT2 = ['Daenerys', 'Jon', 'Tyrion'] removedItem2 = GoT2.pop(4) print(removedItem2) |
Выход

Он выдает исключение IndexError: всплывающий индекс вне диапазона.
List.remove() — это встроенный в Python метод для списков, который позволяет удалить первое вхождение указанного элемента из списка. Если элемент не найден в списке, возникает ошибка ValueError.
Синтаксис
|
1 |
list.remove(item) |
Параметры
Метод remove() принимает один элемент в качестве аргумента и удаляет его из списка.
Параметр item является обязательным, и любой тип (строка, число, список) является элементом, который вы хотите удалить. Метод remove() только удаляет данный элемент из списка.
Возвращаемое значение
Метод не возвращает никакого значения.
Пример 1
|
1 2 3 4 |
GoT = ['Daenerys', 'Jon', 'Tyrion'] GoT.remove('Jon') print(GoT) |
Выход

Пример 2
Давайте удалим элемент, не существующий в списке, и посмотрим, что мы получим на выходе.
|
1 2 3 4 |
GoT = ['Daenerys', 'Jon', 'Tyrion'] GoT.remove('Arya') print(GoT) |
Выход

Если элемент(аргумент), переданный методу remove(), не существует, генерируется исключение ValueError. Итак, метод List remove() удаляет элемент, переданный в качестве аргумента.
Пример 3
Чтобы удалить несколько элементов из списка, мы можем использовать методы while() и List.remove().
|
1 2 3 4 5 6 |
listRep = [19, 21, 18, 18, 46, 21, 11] while 18 in listRep: listRep.remove(18) print(listRep) |
Выход
|
1 |
[19, 21, 46, 21, 11] |
В приведенном выше примере 21 и 18 — это два элемента, которые встречаются более одного раза. Теперь, если мы удалили 18, это дважды появится в списке с условием while.
В выводе видно, что 18 удалено из списка.
