Рубрики
Без рубрики

Удалить элемент из массива в Python

В этом уроке мы продемонстрируем примеры того, как удалить элемент из массива в Python с помощью remove(), pop(), ключевого слова del и Numpy.

Автор оригинала: Luka Čupić.

Вступление

В этом уроке мы рассмотрим некоторые распространенные способы удаления элементов из массивов 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 .

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