Вступление
В этом руководстве будут рассмотрены некоторые распространенные способы удаления элементов из массивов Python. Вот список всех техник и методов, которые мы рассмотрим в этой статье:
Массивы в 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
Во всех этих случаях хорошо иметь несколько вариантов, которые помогут нам решить, какой из методов использовать.