Python lists delete element

How to delete an element from a Python list

Lists are used to store multiple items in a single variable. Lists are created using square brackets[]. They are mutable, which means we can change their contents – add, modify, or delete elements.

states = ['California', 'Texas', 'Florida', 'New York', 'Pennsylvania']

What if we don’t want the state ‘Pennsylvania’ on the list? So, let’s know how to delete this element in the Python list.

Deleting an element from a Python list

There are five different ways to delete an element from a Python list. Let’s see them one by one using examples:

Method-1: Deleting an element using the remove() in a Python list

The remove() method in Python list, removes the specified element using the element name. This comes in use when we don’t care about the index number of the elements in Python list.

For example, let’s take a Python list of famous American rock bands and try delete ‘Nirvana’ from this list. we can use the remove() method:

rock_bands = ['Nirvana', 'Aerosmith', 'Metallica', 'Pearl Jam', 'Foo Fighters'] rock_bands.remove('Nirvana') print(rock_bands)

The output will be:

['Aerosmith', 'Metallica', 'Pearl Jam', 'Foo Fighters']

How to delete an element from a python list using remove

This way we can the remove() method to delete an element in a Python list.

Method-2: Deleting an element using the del keyword in a Python list

The del keyword is used to delete an element at the specified index location from the list, but the removed item is not returned. We can also delete a subpart of a Python list

Consider a Python list of American car brands: In the first, we will just delete one element i.e., the element stored at the 2nd index number.

In the second we will use the result list of the 1st one, and delete a subpart of that Python list using list slicing.

car_brands = ['Chevrolet', 'Ford', 'Tesla', 'Dodge', 'Jeep', 'Buick', 'Chrysler'] # this will remove 'Tesla' and the index will change. del car_brands[2] print(car_brands) # this will remove 'Chevrolet', 'Ford' and 'Dodge'. del car_brands[0:3] print(car_brands)

The Output is:

['Chevrolet', 'Ford', 'Dodge', 'Jeep', 'Buick', 'Chrysler'] ['Jeep', 'Buick', 'Chrysler']

How to delete an element from a python list using del

This way we can use del to delete an element or a part of a Python list.

Method-3: Deleting an element using the pop() method in a Python list

The pop() method is also useful to delete an element in a Python list. It removes and returns the item at a given position, or the last item if the index is not specified.

Читайте также:  Классы

For example, let’s look at a Python list of the top five national parks in the U.S. by visitation: In the first, we will just delete one element i.e., the element stored at the 2nd index number.

In the second we will use the result list of the 1st one, and delete the last element of that Python list because nothing is passed to the pop() method.

national_parks = ['Great Smoky Mountains', 'Yellowstone', 'Zion', 'Rocky Mountain', 'Yosemite'] # This will delete the element having 2 as index number national_parks.pop(2) print(national_parks) # This will delete the last element of the list national_parks.pop() print(national_parks)

The output is:

['Great Smoky Mountains', 'Yellowstone', 'Rocky Mountain', 'Yosemite'] ['Great Smoky Mountains', 'Yellowstone', 'Rocky Mountain']

How to delete an element from a python list using pop

This way we can use the pop() method to delete an element either by Index number or last element in Python List.

Method-4: Deleting an element using the filter() function in a Python list

Python’s filter() function creates a list of elements for which a function returns true. This is a handy method when we want to filter out certain elements of a Python list.

Now, let’s consider a Python list of the most popular American dog breeds and we want to remove all breeds whose names are longer than 15 characters. We can do this using the filter() function with lambda function:

Note: The space between the names is also considered as a character.

dog_breeds = ['Labrador Retriever', 'French Bulldog', 'German Shepherd', 'Golden Retriever', 'Bulldog'] dog_breeds = list(filter(lambda breed: len(breed) 

The output is:

['French Bulldog', 'German Shepherd', 'Bulldog']

How to delete an element from a python list using filter

This way we can eliminate elements in a Python list using the filter() function.

Method-5: Deleting an element using List comprehension in a Python list

List comprehension is a Pythonic way to handle lists. It offers a shorter syntax when we want to create a new list based on the values of an existing Python list.

For example, imagine a Python list that contains names of states in the U.S.A. whose motto is in English We want to remove all the states that don’t start with ‘I’. We can use list comprehension to accomplish this:

states = ['Indiana', 'Oregon', 'Vermont', 'Wisconsin', 'California', 'Illinois'] states_after = [state for state in states if not state.startswith('I')] print(states_after)

The Output is:

['Oregon', 'Vermont', 'Wisconsin', 'California']

How to delete an element from a python list using list comprehension

This way we can eliminate elements using List comprehension in a Python list.

Conclusion:

In conclusion, deleting elements from a Python list can be accomplished in several ways. Depending on whether we know the exact position and, value of the item, or if we want to delete elements based on certain criteria, Python provides the remove() method, del keyword, pop() method, filter() function, and list comprehension.

You may also like to read:

I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.

Источник

Удаление элемента из списка в Python (clear, pop, remove, del)

Тип данных List в Python помогает сохранять разные типы данных в определенной связанной последовательности. Данные записываются в квадратные скобки и разделяются запятыми.

В Python есть несколько методов для удаления элементов из списка: remove() , pop() и clear() . Помимо них также существует ключевое слово del .

Пример списка:

 
 
my_list = ['Python', 50, 11.50, 'Alex', 50, ['A', 'B', 'C']]

Индекс начинается с 0. В списке my_list на 0-ой позиции находится строка «Python». Далее:

  1. Целое число 50
  2. Число с плавающей точкой 11.50
  3. Снова строка — «Alex»
  4. Еще одно число 50
  5. Список из строк «A», «B» и «C»

Метод remove()

Метод remove() — это встроенный метод, который удаляет первый совпадающий элемент из списка.

Передается элемент, который нужно удалить из списка.

Метод не возвращает значений.

Как использовать:

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

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

В этом списке есть строки и целые числа. Есть повторяющиеся элементы: строка «Mars» и число 12.

 
 
my_list = [12, 'USA', 'Sun', 14, 'Mars', 12, 'Mars'] my_list.remove(12) # удаляем элемент 12 в начале print(my_list) my_list.remove('Mars') # удаляем первый Mars из списка print(my_list) my_list.remove(100) # ошибка print(my_list)
['USA', 'Sun', 14, 'Mars', 12, 'Mars'] ['USA', 'Sun', 14, 12, 'Mars'] Traceback (most recent call last): File "wb.py", line 6, in my_list.remove(100) # ошибка ValueError: list.remove(x): x not in list

Метод pop()

Этот метод удаляет элемент на основе переданного индекса.

Принимает лишь один аргумент — индекс.

  • Для удаления элемента списка нужно передать его индекс. Индексы в списках стартуют с 0. Для получения первого передайте 0. Для удаления последнего передайте -1.
  • Этот аргумент не является обязательным. Значение по умолчанию равно -1, поэтому по умолчанию будет удален последний элемент.
  • Если этот индекс не найден или он вне диапазона, то метод выбросит исключение IndexError: pop index .

Возвращает элемент, удаленный из списка по индексу. Сам же список обновляется и больше не содержит этот элемент.

Пример: использования метода pop() для удаления элемента

Попробуем удалить элемент с помощью pop:

Удалим из списка «Sun». Индекс начинается с 0, поэтому индекс для «Sun» будет 2.

 
 
my_list = [12, 'USA', 'Sun', 14, 'Mars', 12, 'Mars'] # Передавая индекс как 2, чтобы удалить Sun name = my_list.pop(2) print(name) print(my_list) # метод pop() без индекса - возвращает последний элемент item = my_list.pop() print(item) print(my_list) # передача индекса за пределами списка item = my_list.pop(15) print(item) print(my_list)
Sun [12, 'USA', 14, 'Mars', 12, 'Mars'] Mars [12, 'USA', 14, 'Mars', 12] Traceback (most recent call last): File "wb.py", line 14, in item = my_list.pop(15) IndexError: pop index out of range

Метод clear()

Метод clear() удаляет все элементы из списка.

Нет ни параметров, ни возвращаемого значения.

Пример

Метод clear() очистит данный список. Посмотрим:

 
 
my_list = [12, 'USA', 'Sun', 14, 'Mars', 12, 'Mars'] element = my_list.clear() print(element) print(my_list)

Ключевое слово del

Для удаления элемента из списка можно использовать ключевое слово del с названием списка после него. Также потребуется передать индекс того элемента, который нужно удалить.

Также можно выбрать элементы в определенном диапазоне и удалить их с помощью del . Для этого нужно передать начальное и конечное значение диапазона.

Синтаксис: del list[start:stop] .

Вот пример того как с помощью del можно удалить первый, последний и сразу несколько элементов списка:

 
 
my_list = list(range(7)) print("Исходный список", my_list) # Чтобы удалить первый элемент del my_list[0] print("После удаления первого элемента", my_list) # Чтобы удалить элемент по индексу del my_list[5] print("После удаления элемента", my_list) # Чтобы удалить несколько элементов del my_list[1:5] print("После удаления нескольких элементов", my_list)
Исходный список [0, 1, 2, 3, 4, 5, 6] После удаления первого элемента [1, 2, 3, 4, 5, 6] После удаления элемента [1, 2, 3, 4, 5] После удаления нескольких элементов [1]

Как удалить первый элемент списка

Для этого можно использовать методы remove() , pop() . В случае с remove потребуется передать индекс первого элемента, то есть 0. Также можно использовать ключевое слово del.

Пример показывает применение всех этих способов.

 
 
my_list = ['A', 'B', 'C', 'D', 'E', 'F'] print("Список", my_list) my_list.remove('A') print("С использованием remove()", my_list) my_list = ['A', 'B', 'C', 'D', 'E', 'F'] my_list.pop(0) print("С использованием pop()", my_list) my_list = ['A', 'B', 'C', 'D', 'E', 'F'] del my_list[0] print("С использованием del", my_list)
Список ['A', 'B', 'C', 'D', 'E', 'F'] С использованием remove() ['B', 'C', 'D', 'E', 'F'] С использованием pop() ['B', 'C', 'D', 'E', 'F'] С использованием del ['B', 'C', 'D', 'E', 'F']

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

Методы remove() и pop() могут удалить только один элемент. Для удаления нескольких используется метод del.

Например, из списка ['A', 'B', 'C', 'D', 'E', 'F'] нужно удалить элементы B, C и D. Вот как это делается с помощью del .

 
 
my_list2 = ['A', 'B', 'C', 'D', 'E', 'F'] print("Список", my_list2) del my_list2[1:4] print("С использованием del", my_list2)
Список ['A', 'B', 'C', 'D', 'E', 'F'] С использованием del ['A', 'E', 'F']

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

Для удаления элемента по индексу используйте pop() . Для этого также подойдет ключевое слово del .

 
 
# Использование del для удаления нескольких элементов из списка my_list1 = ['A', 'B', 'C', 'D', 'E', 'F'] print("Список", my_list1) element = my_list1.pop(2) print("Используя pop", my_list1) # Использование del для удаления нескольких элементов из списка my_list2 = ['A', 'B', 'C', 'D', 'E', 'F'] del my_list2[2] print("Используя del", my_list2)
Список ['A', 'B', 'C', 'D', 'E', 'F'] Используя pop ['A', 'B', 'D', 'E', 'F'] Используя del ['A', 'B', 'D', 'E', 'F']

Выводы

В Python есть много способов удаления данных из списка. Это методы remove() , pop() , clear() и ключевое слово del .

  • remove() — удаляет первый встреченный элемент в списке, который соответствует условию.
  • pop() — удаляет элемент по индексу.
  • clear() — удаляет все элементы списка.

Обучение с трудоустройством

Я создал этот блог в 2018 году, чтобы распространять полезные учебные материалы, документации и уроки на русском. На сайте опубликовано множество статей по основам python и библиотекам, уроков для начинающих и примеров написания программ.

Python Q CEO Pythonru admin@pythonru.com https://secure.gravatar.com/avatar/b16f253879f7349f64830c64d1da4415?s=96&d=mm&r=g CEO Pythonru Python Александр Редактор https://t.me/cashncarryhttps://pythonru.com/https://yandex.ru/q/profile/cashnc/ PythonRu.com admin@pythonru.com Alex Zabrodin 2018-10-26 Online Python, Programming, HTML, CSS, JavaScript

Источник

Оцените статью