Вступление
В этом уроке мы рассмотрим некоторые распространенные способы удаления элементов из массивов Python. Вот список всех техник и методов, которые мы рассмотрим в этой статье:
- удалить()
- хлопок()
- дель
- Массивы NumPy
Массивы в Python
Массивы и списки-это не одно и то же в Python. Хотя списки используются чаще, чем массивы, последние все же имеют свои варианты использования. Основное различие между ними заключается в том, что списки могут использоваться для хранения произвольных значений. Они также неоднородны, что означает, что они могут одновременно хранить целые числа, строки, другие объекты и т. Д.
Массивы, с другой стороны, похожи на то, что массивы находятся в C. Они представляют собой однородные структуры данных для хранения элементов одного и того же типа и используют гораздо меньше памяти, чем списки.
Этот учебник будет посвящен массивам , а не спискам , хотя большинство методов, показанных в этом учебнике, могут быть использованы для обеих этих двух структур данных.
Использование remove()
Соответственно, функция remove()
может быть использована для любого массива в Python. Чтобы использовать его, мы можем просто передать значение элемента, который мы хотим удалить. Давайте представим, что у нас есть следующий массив:
array = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
Чтобы удалить, скажем, элемент 40
, мы бы просто написали:
array.remove(40)
В результате получается тот же массив без значения 40
:
[10, 20, 30, 50, 60, 70, 80, 90, 100]
Использование pop()
Функция pop()
принимает индекс элемента, который мы хотим удалить. Если бы у нас был тот же массив, что и раньше (со значениями от 10 до 100), мы могли бы написать что-то вроде следующего:
index = 3 array.pop(index)
Если бы мы напечатали результат метода pop, то это было бы значение 40
:
[10, 20, 30, 50, 60, 70, 80, 90, 100]
Аналогично тому, как pop()
работает в структуре данных стека, здесь pop()
также возвращает значение, которое он только что удалил.
Единственное отличие состоит в том, что с помощью массивов мы можем удалить произвольный элемент. С помощью стеков можно удалить только верхний элемент (то есть последний добавленный).
Использование del
del
– это ключевое слово python, используемое для удаления объектов. Его точное поведение меняется в зависимости от контекста, поэтому мы также можем использовать его для удаления элементов массива. Еще раз, давайте возьмем тот же массив и индекс, что и раньше:
array = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100] index = 3
Чтобы удалить элемент по индексу 3
, мы просто набираем следующее:
del array[index]
Если бы мы сейчас напечатали содержимое нашего массива, то получили бы следующий вывод:
[10, 20, 30, 50, 60, 70, 80, 90, 100]
Использование массивов numpy
Массивы NumPy технически также являются массивами, и поскольку они обычно используются (особенно в машинном обучении), давайте покажем один из способов удаления элемента из массива numpy
. Перед использованием numpy
необходимо импортировать его с помощью
import numpy as np
Чтобы создать массив numpy
, мы можем обернуть наш текущий массив с помощью np.array()
как таковой:
a = np.array(array)
Кроме того, мы могли бы также объявить новый массив внутри самого вызова метода:
a = np.array([10, 20, 30, 40, 50, 60, 70, 80, 90, 100])
Теперь, чтобы удалить элемент в индексе 3
, мы используем следующий код:
index = 3 a = np.delete(a, index)
delete()
– это статический метод, объявленный в модуле numpy
. Он принимает массив и индекс удаляемого элемента.
Метод возвращает новый массив без удаленного элемента:
[10, 20, 30, 50, 60, 70, 80, 90, 100]
Вывод
Существуют различные способы удаления элемента массива в Python. Иногда мы можем захотеть удалить элемент по индексу, а иногда по значению. Иногда мы используем массив Python по умолчанию, а иногда-массив numpy
.
Во всех этих случаях хорошо иметь несколько вариантов, чтобы помочь нам решить, какой из методов использовать.