- Методы списка
- Удаление элемента из списка в Python (clear, pop, remove, del)
- Метод remove()
- Как использовать:
- Пример: использование метод remove() для удаления элемента из списка
- Метод pop()
- Пример: использования метода pop() для удаления элемента
- Метод clear()
- Пример
- Ключевое слово del
- Как удалить первый элемент списка
- Как удалить несколько элементов из списка
- Как удалить элемент из списка с помощью индекса в Python
- Выводы
- Обучение с трудоустройством
- Как удалить элемент из списка в Python
- Синтаксис
- Аргументы
- Пример 1
- Пример 2
- Пример 3
Методы списка
В Python у списков имеется одиннадцать методов. Условно разделим их на группы:
- увеличивающие количество элементов — append , extend , insert
- уменьшающие количество элементов — clear , pop , remove
- изменяющие порядок элементов — reverse , sort
- методы «поиска» — index , count
- копирование списка — copy
Методы append и extend производят добавление в конец списка. Разница между ними заключается в том, что с помощью append можно добавить только один элемент, в то время extend позволяет расширить список сразу на несколько. При этом оба метода принимают один аргумент. В случае extend это должна быть итерируемая последовательность (кортеж, список, строка и другое), каждый элемент которой станет отдельным элементом списка.
>>> lst = ['a', 45, 89, 'who'] >>> lst.append(67) >>> lst ['a', 45, 89, 'who', 67]
>>> b [1, 2, 3] >>> c = (9, 10) >>> b.extend(c) >>> b [1, 2, 3, 9, 10] >>> b.extend("abc") >>> b [1, 2, 3, 9, 10, 'a', 'b', 'c'] >>> b.extend([12, 19]) >>> b [1, 2, 3, 9, 10, 'a', 'b', 'c', 12, 19]
Если требуется вставить элемент в произвольное место списка, используется метод insert . Он принимает два аргумента: сначала индекс, потом значение. Вставка элемента происходит перед элементом, который до этого занимал указанную позицию.
>>> lst.insert(0,10) >>> lst [10, 'a', 45, 89, 'who', 67, 'a1', (1, 2, 3)] >>> lst.insert(len(lst),10) >>> lst [10, 'a', 45, 89, 'who', 67, 'a1', (1, 2, 3), 10] >>> lst.insert(3, 10) >>> lst [10, 'a', 45, 10, 89, 'who', 67, 'a1', (1, 2, 3), 10]
Для удаления из списка одного элемента используют методы remove и pop . Метод remove принимает значение удаляемого элемента, и удаляет первое его вхождение. Если элемента нет в списке, возникает исключение ValueError . Метод pop удаляет элемент по индексу. При этом возвращает удаленное из списка значение в программу. Вызов pop() без аргументов удаляет и возвращает последний элемент. Метод pop генерирует исключение IndexError , если указан индекс за пределами диапазона индексов списка.
lst = [4, 3, 5, 1, 8, 1] d = int(input()) try: lst.remove(d) except ValueError: print('No the item') print(lst)
2 No the item [4, 3, 5, 1, 8, 1]
lst = ['a', 'f', 'b', 'x', 'y', 'k'] i = int(input()) try: value = lst.pop(i) except IndexError: value = 'Index Error' print(value)
Метод clear удаляет все элементы из списка.
Метод reverse изменяет порядок элементов на обратный. Метод переворачивает список на месте, то есть тот, к которому применяется.
>>> lst ['a', 10, 89, 'who', 67, 'a1', (1, 2, 3), 10] >>> lst.reverse() >>> lst [10, (1, 2, 3), 'a1', 67, 'who', 89, 10, 'a']
Метод sort выполняет сортировку списка на месте (список изменяется, а не возвращается новый). Если sort() вызывается без аргументов, сортировка происходит по возрастанию. Для сортировки по убыванию следует именованному параметру reverse присвоить True .
>>> li = [4, 1, 9, 5] >>> li.sort() >>> li [1, 4, 5, 9]
>>> st = [4, 2, 7, 5] >>> st.sort(reverse=True) >>> st [7, 5, 4, 2]
Для более сложных сортировок используется параметр key , которому присваивается функция, выполняющая действия над каждым элементом списка. Сортировка происходит на основе вернувшихся значений. Подробнее об этом в этой статье.
>>> n = [-4, 3, 9, -5, 2] >>> n.sort(key=lambda i: abs(i)) >>> n [2, 3, -4, -5, 9]
Метод count считает, сколько раз в списке встречается переданный аргумент.
Метод index возвращает индекс указанного элемента. Если таких значений несколько, метод вернет индекс только первого. Если таких элементов нет, генерируется исключение. Вторым и третьим аргументом можно указать срез для поиска.
>>> a = ['a', 'c', 'e', 'a', 'b'] >>> a.index('a') 0 >>> a.index('a', 2) 3 >>> a.index('a', 2, 4) 3 >>> a.index('a', 2, 3) Traceback (most recent call last): File "", line 1, in ValueError: 'a' is not in list
Метод copy создает поверхностную копию списка. Так при наличии вложенных списков копируются не они сами, а ссылки на них. В результате изменение вложенных списков через список-оригинал будет видно также в списке-копии.
>>> a = [1, 2] >>> b = a.copy() >>> b.append(3) >>> a [1, 2] >>> b [1, 2, 3]
>>> c = [1, 2, [3, 4]] >>> d = c.copy() >>> d.append(5) >>> c[2].append(6) >>> c [1, 2, [3, 4, 6]] >>> d [1, 2, [3, 4, 6], 5]
Удаление элемента из списка в 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». Далее:
- Целое число 50
- Число с плавающей точкой 11.50
- Снова строка — «Alex»
- Еще одно число 50
- Список из строк «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
Как удалить элемент из списка в Python
Python List.pop() — это встроенная функция, которая удаляет элемент в указанной позиции. Метод pop() принимает единственный аргумент в качестве позиции и возвращает удаленный элемент. Если индекс, переданный методу pop(), не находится в диапазоне или не существует в списке, он выдает исключение IndexError: pop index out of range.
Синтаксис
Аргументы
Параметр index является обязательным, и это позиция, в которой нам нужно удалить элемент из списка.
Пример 1
Индекс списка в Python начинается с 0, а не с 1. Итак, если вам нужно извлечь 2-й элемент, вы должны передать 1 методу pop().
Пример 2
Если мы передаем отрицательный индекс, он начнется с конца списка. Таким образом, в приведенном выше примере -1 означает последний элемент списка, которым является Tyrion. Так что этот элемент будет удален.
Если вам нужно удалить данный элемент из списка в Питон, используйте метод list remove().
Пример 3
Посмотрите на следующий сценарий, в котором индекс не существует в списке, и просмотрите результат.