Как удалить элемент из списка в Python

Иногда, когда вы работаете со списками в Python, вам может потребоваться удалить элементы с определенным значением. В этом руководстве мы узнаем, как удалить из списка все элементы, имеющие заданное значение.

Есть много способов удалить все элементы с определенным значением из списка. Ниже приведены некоторые из них:

  1. Перебирайте элементы списка и используйте метод remove(), когда значение элемента совпадает с интересующим нас элементом.
  2. Отфильтруйте список с помощью лямбда-функции с условием, что элемент не должен интересовать нас.
  3. Перебирайте элементы, пока элемент находится в списке, и используйте метод remove().

Второй способ предпочтительнее, так как он дает лучшую производительность. Два других метода предназначены для обучения.

Пример 1: с помощью цикла For Loop

В следующем примере мы перебираем каждый элемент в списке, используя For Loop, и когда мы находим совпадение для удаляемого элемента, мы вызываем функцию remove() для списка.

mylist = [21, 5, 8, 52, 21, 87]
r_item = 21

#remove the item for all its occurrences
for item in mylist:
	if(item==r_item):
		mylist.remove(r_item)

print(mylist)

Вывод:

[5, 8, 52, 87]

Пример 2: с помощью фильтра

Мы фильтруем те элементы списка, которые не равны __ne__ элементу.

mylist = [21, 5, 8, 52, 21, 87]
r_item = 21

#remove the item for all its occurrences
mylist = list(filter((r_item).__ne__, mylist))

print(mylist)

Вывод:

[5, 8, 52, 87]

Пример 3: с помощью оператора while

Пока есть совпадение с элементом в списке, вызовите функцию remove() в списке.

mylist = [21, 5, 8, 52, 21, 87]
r_item = 21

#remove the item for all its occurrences
while r_item in mylist: mylist.remove(r_item)

print(mylist)

Вывод:

[5, 8, 52, 87]

В этом руководстве примеров в Python мы узнали, как удалить все вхождения элемента или элемента из списка с помощью различных подходов.

Как удалить элемент из списка?

Чтобы удалить элемент из списка в Python, вы можете использовать метод remove() в списке с элементом, переданным в качестве аргумента.

В этом руководстве мы рассмотрим примеры, чтобы понять, как использовать функцию remove() для удаления элемента из списка.

Синтаксис

Синтаксис метода:

mylist.remove(thisitem)

Где, этот элемент нужно удалить из списка.

Команда remove() удаляет только первое вхождение элемента в списке. Последующие появления остаются нетронутыми. В конце этой статьи мы также научимся удалять все элементы с определенным значением.

Пример 1: элемент присутствует в списке только один раз

В следующем примере у нас есть список из нескольких элементов. А элемент 5, который мы хотим удалить, присутствует только один раз.

mylist = [21, 5, 8, 52, 21, 87]
item = 5

#remove the item
mylist.remove(item)

print(mylist)

Вывод:

[21, 8, 52, 21, 87]

Элемент удаляется, а индекс последующих элементов уменьшается на 1.

Пример 2: элемент присутствует в списке несколько раз

В следующем примере у нас есть список из нескольких элементов. И элемент, который мы хотели бы удалить, 21, присутствует дважды.

mylist = [21, 5, 8, 52, 21, 87]
item = 21

#remove the item
mylist.remove(item)

print(mylist)

Вывод:

[5, 8, 52, 21, 87]

Элемент присутствует дважды, но удаляется только первое вхождение.

Пример 3: удалить все вхождения элемента из списка

В этом примере мы удалим все элементы, соответствующие определенному значению 21.

mylist = [21, 5, 8, 52, 21, 87]
r_item = 21

#remove the item for all its occurrences
for item in mylist:
	if(item==r_item):
		mylist.remove(r_item)

print(mylist)

Вывод:

[5, 8, 52, 87]

2 комментария для “Как удалить элемент из списка в Python

  1. mylist = [21, 5, 8, 52, 21, 21, 87]

    попробуйте такое удаление на этом списке — все вхождения удалены не будут
    такой метод удаления использовать не стоит

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *