Поиск по сайту:

Программа Python для вставки элемента в массив по указанному индексу


Массив — это структура данных, которая используется для хранения совокупности однородных элементов данных. И каждый элемент массива идентифицируется значением индекса.

Массивы в Python

Python не имеет собственной структуры данных для представления массива. Однако мы можем использовать структуру данных списка в качестве альтернативы массивам. Здесь мы будем использовать список массива —

[10, 4, 11, 76, 99]

Python также предоставляет некоторые модули, которые являются более подходящими, и это модули Numpy и модули массивов.

Массив Numpy, определенный модулем NumPy, —

array([1, 2, 3, 4])

Индексация в Python начинается с 0, так что доступ к вышеуказанным элементам массива осуществляется с использованием соответствующих значений индекса, таких как 0, 1, 2, до n-1.

В статье ниже мы видим несколько способов вставки элемента в массив по указанному индексу с помощью программирования на Python.

Сценарии ввода-вывода

Предположим, у нас есть массив A с 6 целочисленными значениями. И в результирующий массив будет вставлен элемент в указанную индексную позицию.

Input array:
[9, 3, 6, 2, 7, 1]
Output array:
[9, 3, 6, 2, 10, 7, 1]

Элемент 10 вставляется в позицию индекса 4, а количество элементов увеличивается до 7 после вставки значения. Давайте посмотрим на другой массив.

Input arrays:
[‘a’, ‘b’, ‘c’]
Output array:
[‘k’, ‘a’, ‘b’, ‘c’]

Здесь элементы «k» вставляются по первому индексу.

Использование метода list.insert()

Чтобы вставить элемент в массив по указанному индексу, мы можем использовать метод Insert() в Python. Insert() — это встроенный метод структур данных списка, который используется для вставки элемента по заданному индексу. Ниже приведен синтаксис этой функции:

list.insert(index, element)

Параметр index указывает, куда вставить элемент, а второй параметр — заданный элемент. Метод list.insert() ничего не возвращает, он обновляет исходный список.

Пример

В этом примере мы будем использовать метод list.insert().

l = [9, 3, 6, 2, 7, 1]
# print initial array
print("Original array: ", l)

specified_index = 4
element = 10

#  insert element
l.insert(specified_index, element)

print("Array after inserting the element: ", l)

Выход

Original array:  [9, 3, 6, 2, 7, 1]
Array after inserting the element:  [9, 3, 6, 2, 10, 7, 1]

Исходный массив l обновляется новым элементом 10 в заданной позиции 4.

Использование цикла for

Без использования какого-либо метода/функции мы можем вставить значение в массив, используя цикл for.

Пример

Здесь мы будем использовать цикл Python for для вставки значения в определенную позицию.

l = [3, 6, 2, 8, 4]
# print initial array
print("Original array: ", l)
specified_index = 1
element = 0

for i in range(len(l)):
   if i == specified_index:
      l[i] = element

print("Array after inserting the element: ", l)

Выход

Original array:  [3, 6, 2, 8, 4]
Array after inserting the element:  [3, 0, 2, 8, 4]

Здесь мы повторили цикл for, используя значения индекса массива, и сравнили индекс с указанным индексом, а затем вставили элемент, индекс которого соответствует указанному индексу.

Использование метода numpy.insert()

Метод numpy.insert() используется для вставки значения по заданным индексам. И он возвращает копию входного массива со вставленными значениями. Ниже приведен синтаксис –

numpy.insert(arr, obj, values, axis=None)

Параметры

  • arr — входной массив NumPy.

  • obj — он определяет индекс, куда вставить элемент.

  • значения — элементы для вставки во входной массив.

  • ось — вдоль которой вставлять значения. По умолчанию Нет.

Пример

В этом примере мы будем использовать метод numpy.insert().

import numpy as np

arr = np.array([0, 6, 2, 7, 9, 1, 4])
# print initial array
print("Original array: ", arr)

specified_index = 5
element = 10

#  insert element
result = np.insert(arr, specified_index, element)

print("Array after inserting the element: ", result)

Выход

Original array:  [0 6 2 7 9 1 4]
Array after inserting the element:  [ 0  6  2  7  9 10  1  4]

Элемент 10 успешно вставлен в позицию 5 с помощью функции numpy.insert().

Статьи по данной тематике: