Удаление элемента из списка в Python (clear, pop, remove, del)
Тип данных List в Python помогает сохранять разные типы данных в определенной связанной последовательности. Данные записываются в квадратные скобки и разделяются запятыми.
В Python есть несколько методов для удаления элементов из списка: remove() , pop() и clear() . Помимо них также существует ключевое слово del .
Рассмотрим их все.
Пример списка:
Индекс начинается с 0. В списке my_list на 0-ой позиции находится строка «Python». Далее:
- Целое число 50
- Число с плавающей точкой 11.50
- Снова строка — «Alex»
- Еще одно число 50
- Список из строк «A», «B» и «C»
Метод remove()
Метод remove() — это встроенный метод, который удаляет первый совпадающий элемент из списка.
Передается элемент, который нужно удалить из списка.
Метод не возвращает значений.
Как использовать:
- Если в списке есть повторяющиеся элементы, первый совпадающий будет удален.
- Если элемента нет, будет брошена ошибка с сообщением о том, что элемент не найден.
- Метод не возвращает значений.
- В качестве аргумента нужно передать валидное значение.
Пример: использование метод remove() для удаления элемента из списка
В этом списке есть строки и целые числа. Есть повторяющиеся элементы: строка «Mars» и число 12.
Метод pop()
Этот метод удаляет элемент на основе переданного индекса.
Принимает лишь один аргумент — индекс.
- Для удаления элемента списка нужно передать его индекс. Индексы в списках стартуют с 0. Для получения первого передайте 0. Для удаления последнего передайте -1.
- Этот аргумент не является обязательным. Значение по умолчанию равно -1, поэтому по умолчанию будет удален последний элемент.
- Если этот индекс не найден или он вне диапазона, то метод выбросит исключение IndexError: pop index .
Возвращает элемент, удаленный из списка по индексу. Сам же список обновляется и больше не содержит этот элемент.
Пример: использования метода pop() для удаления элемента
Попробуем удалить элемент с помощью pop:
- По индексу
- Не передавая индекс
- Передав индекс вне диапазона
Удалим из списка «Sun». Индекс начинается с 0, поэтому индекс для «Sun» будет 2.
Метод clear()
Метод clear() удаляет все элементы из списка.
Нет ни параметров, ни возвращаемого значения.
Пример
Метод clear() очистит данный список. Посмотрим:
Ключевое слово del
Для удаления элемента из списка можно использовать ключевое слово del с названием списка после него. Также потребуется передать индекс того элемента, который нужно удалить.
Синтаксис: del list[index] .
Также можно выбрать элементы в определенном диапазоне и удалить их с помощью del . Для этого нужно передать начальное и конечное значение диапазона.
Синтаксис: del list[start:stop] .
Вот пример того как с помощью del можно удалить первый, последний и сразу несколько элементов списка:
Python List .remove() — How to Remove an Item from a List in Python
Dionysia Lemonaki
In this article, you’ll learn how to use Python’s built-in remove() list method.
By the end, you’ll know how to use remove() to remove an item from a list in Python.
Here is what we will cover:
The remove() Method — A Syntax Overview
The remove() method is one of the ways you can remove elements from a list in Python.
The remove() method removes an item from a list by its value and not by its index number.
The general syntax of the remove() method looks like this:
Let’s break it down:
- list_name is the name of the list you’re working with.
- remove() is one of Python’s built-in list methods.
- remove() takes one single required argument. If you do not provide that, you’ll get a TypeError – specifically you’ll get a TypeError: list.remove() takes exactly one argument (0 given) error.
- value is the specific value of the item that you want to remove from list_name .
The remove() method does not return the value that has been removed but instead just returns None , meaning there is no return value.
If you need to remove an item by its index number and/or for some reason you want to return (save) the value you removed, use the pop() method instead.
How to Remove an Element from a List Using the remove() Method in Python
To remove an element from a list using the remove() method, specify the value of that element and pass it as an argument to the method.
remove() will search the list to find it and remove it.
If you specify a value that is not contained in the list, then you’ll get an error – specifically the error will be a ValueError :
To avoid this error from happening, you could first check to see if the value you want to remove is in the list to begin with, using the in keyword.
It will return a Boolean value – True if the item is in the list or False if the value is not in the list.
Another way to avoid this error is to create a condition that essentially says, «If this value is part of the list then delete it. If it doesn’t exist, then show a message that says it is not contained in the list».
Now, instead of getting a Python error when you’re trying to delete a certain value that doesn’t exist, you get a message returned, saying the item you wanted to delete is not in the list you’re working with.
The remove() Method Removes the First Occurrence of an Item in a List
A thing to keep in mind when using the remove() method is that it will search for and will remove only the first instance of an item.
This means that if in the list there is more than one instance of the item whose value you have passed as an argument to the method, then only the first occurrence will be removed.
Let’s look at the following example:
In the example above, the item with the value of Python appeared three times in the list.
When remove() was used, only the first matching instance was removed – the one following the JavaScript value and preceeding the Java value.
The other two occurrences of Python remain in the list.
What happens though when you want to remove all occurrences of an item?
Using remove() alone does not accomplish that, and you may not want to just remove the first instance of the item you specified.
How to Remove All Instances of an Item in A List in Python
One of the ways to remove all occurrences of an item inside a list is to use list comprehension.
List comprehension creates a new list from an existing list, or creates what is called a sublist.
This will not modify your original list, but will instead create a new one that satisfies a condition you set.
In the example above, there is the orginal programming_languages list.
Then, a new list (or sublist) is returned.
The items contained in the sublist have to meet a condition. The condition was that if an item in the original list has a value of Python , it would not be part of the sublist.
Now, if you don’t want to create a new list, but instead want to modify the already existing list in-place, then use the slice assignment combined with list comprehension.
With the slice assignment, you can modify and replace certain parts (or slices) of a list.
To replace the whole list, use the [:] slicing syntax, along with list comprehension.
The list comprehension sets the condition that any item with a value of Python will no longer be a part of the list.
Conclusion
And there you have it! You now know how to remove a list item in Python using the remove() method. You also saw some ways of removing all occurrences of an item in a list in Python.
I hope you found this article useful.
To learn more about the Python programming language, check out freeCodeCamp’s Scientific Computing with Python Certification.
You’ll start from the basics and learn in an interacitve and beginner-friendly way. You’ll also build five projects at the end to put into practice and help reinforce what you’ve learned.
Как удалить элемент массива в Python?
В этой статье мы поговорим о том, как удалить элемент из массива в Python. Для демонстрации одного из примеров воспользуемся модулем array, определяющим массивы в «Питоне». Перед началом работы необходимо импортировать соответствующую библиотеку. Это делается путём добавления в файл программы строки from array import *.
Итак, представим, что у нас есть массив со следующим содержимым:
Обратите внимание, что функция array принимает 2 аргумента. Первый — тип создаваемого массива, второй — начальный список значений (в качестве начального списка значений задали простейший набор чисел от 1 до 5). Что касается i, то в нашем случае — это целое знаковое число, которое занимает 2 байта памяти. Кстати, код типа может быть и другим, например, однобайтовым символом (с) или 4-байтовым числом с плавающей точкой (f).
Идём дальше. Удаление элементов в массиве Python может выполняться двумя способами: • pop() — удаление элемента по индексу; • remove() — удаление элемента по значению.
Рассмотрим каждый из них подробнее.
Удаляем элемент в массиве Python с помощью pop()
Операция по удалению выполняется предельно просто:
Вывод в терминале будет следующим:
Обратите внимание, что код выше удаляет число 3, т. к. индексация элементов в Python-массиве начинается с нуля.
Если же нам нужно удалить последний элемент из массива, просто не пишите никакой индекс в методе pop() :
А теперь давайте проделаем ту же операцию, но без модуля array, представив одномерный массив в виде простейшего списка элементов в Python:
Как видите, здесь тоже всё предельно просто.
Удаляем элемент в массиве Python с помощью remove()
В некоторых случаях мы не знаем точный индекс элемента в массиве в Python, зато знаем имя элемента. Допустим, речь идёт о следующем одномерном массиве (для удобства сразу отобразим его в виде списка):
Как удалить здесь, к примеру, элемент “online”? Для этого нам пригодится метод remove() :
В результате слово “online” из нашего массива будет удалено:
На этом всё, надеюсь, этот материал был вам полезен.
Хотите знать про Python гораздо больше? Записывайтесь на наш курс для продвинутых разработчиков:
Как удалить элемент из списка в Python
Рассказываем, как работают методы remove(), pop(), clear() и ключевое слово del.
Иллюстрация: Оля Ежак для Skillbox Media
В Python есть много удобных механизмов для работы со списками. И удалять элементы из них можно по-разному.
4 главных способа удалить элемент из списка
В этой статье мы рассмотрим четыре основных метода. Их функциональность в некоторых случаях пересекается, поэтому иногда они вполне взаимозаменяемы.
Метод remove(): удаление по значению
remove() можно использовать, когда мы точно знаем значение, от которого хотим избавиться. В качестве аргумента remove() получает объект, находит совпадение и удаляет его, ничего не возвращая:
Можно удалять и более сложные объекты: например, внутренние списки. Главное — в точности передать этот объект методу:
remove() удаляет только первое совпадение с искомым элементом. Например, так он себя поведёт, если в списке будет несколько строк ‘ноль’:
При попытке удалить значение, которого нет в списке, Python выдаст ошибку ValueError.
Метод pop(): удаление по индексу
pop() подойдёт, когда известно точное местоположение удаляемого элемента. В качестве аргумента pop() получает индекс, а возвращает удалённое значение:
Если передать отрицательное значение, то pop() будет считать индексы не с нуля, а с -1:
А вот если оставить pop() без аргумента, то удалится последний элемент — потому что -1 является аргументом по умолчанию:
При попытке обратиться в методе pop() к несуществующему индексу, интерпретатор выбросит исключение IndexError.
Метод clear(): очищение списка
clear() удаляет из списка всё, то есть буквально очищает его. Он не принимает аргументов и не возвращает никаких значений:
Ключевое слово del: удаление срезов
del, как и метод pop(), удаляет элементы списка по индексу. При этом с его помощью можно избавиться как от единичного объекта, так и от целого среза:
Если передать срез, то элемент с правым индексом не удалится. В примере ниже это строка ‘IV’:
Чтобы очистить список, достаточно передать полный срез [:]:
Также del можно использовать с отрицательными индексами:
Со срезами это тоже работает:
Если при удалении единичного элемента указать несуществующий индекс, то Python выдаст ошибку IndexError.
Как удалить первый элемент списка в Python
Довольно часто, например, при реализации стека, нужно удалить первый элемент списка. Возьмём наш new_list и посмотрим, какими способами это можно сделать.
С помощью метода pop(0)
Передаём в качестве аргумента pop() индекс 0:
С помощью ключевого слова del
Используем del с элементом с индексом 0.
Как удалить несколько элементов
Если элементы, от которых нужно избавиться, находятся по соседству друг с другом, то удобнее всего использовать del.
Допустим, в последовательности чисел от 0 до 9 нужно удалить 4, 5, 6 и 7. Тогда решение будет выглядеть так:
Как удалить последний элемент списка в Python
Если мы хотим избавиться от последнего элемента, то, как и в случае с первым, удобнее всего это сделать с помощью pop() или del.
С помощью метода pop()
Так как по умолчанию метод принимает аргумент -1, то можно вообще ничего не передавать:
Но если вы истинный приверженец дзена Python («Явное лучше неявного»), то можно указать -1 — ничего не изменится.
С помощью ключевого слова del
А вот если хотите удалить последний элемент с помощью del, то передать -1 нужно обязательно:
Подведём итоги
Язык Python даёт четыре основных инструмента для удаления элементов из списка: