Тип данных List в Python помогает сохранять разные типы данных в определенной связанной последовательности. Данные записываются в квадратные скобки и разделяются запятыми.
В Python есть несколько методов для удаления элементов из списка: remove()
, pop()
и clear()
. Помимо них также существует ключевое слово del
.
Рассмотрим их все.
Пример списка:
my_list = ['Python', 50, 11.50, 'Alex', 50, ['A', 'B', 'C']]
Индекс начинается с 0. В списке my_list
на 0-ой позиции находится строка «Python». Далее:
- Целое число 50
- Число с плавающей точкой 11.50
- Снова строка — «Alex»
- Еще одно число 50
- Список из строк «A», «B» и «C»
Метод remove()
Метод remove()
— это встроенный метод, который удаляет первый совпадающий элемент из списка.
Синтаксис: list.remove(element)
.
Передается элемент, который нужно удалить из списка.
Метод не возвращает значений.
Как использовать:
- Если в списке есть повторяющиеся элементы, первый совпадающий будет удален.
- Если элемента нет, будет брошена ошибка с сообщением о том, что элемент не найден.
- Метод не возвращает значений.
- В качестве аргумента нужно передать валидное значение.
Пример: использование метод 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 <module>
my_list.remove(100) # ошибка
ValueError: list.remove(x): x not in list
Метод pop()
Этот метод удаляет элемент на основе переданного индекса.
Синтаксис: list.pop(index)
.
Принимает лишь один аргумент — индекс.
- Для удаления элемента списка нужно передать его индекс. Индексы в списках стартуют с 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 <module>
item = my_list.pop(15)
IndexError: pop index out of range
Метод clear()
Метод clear()
удаляет все элементы из списка.
Синтаксис: list.clear()
.
Нет ни параметров, ни возвращаемого значения.
Пример
Метод clear()
очистит данный список. Посмотрим:
my_list = [12, 'USA', 'Sun', 14, 'Mars', 12, 'Mars']
element = my_list.clear()
print(element)
print(my_list)
Вывод:
None
[]
Ключевое слово del
Для удаления элемента из списка можно использовать ключевое слово del
с названием списка после него. Также потребуется передать индекс того элемента, который нужно удалить.
Синтаксис: del list[index]
.
Также можно выбрать элементы в определенном диапазоне и удалить их с помощью 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()
— удаляет все элементы списка.