Программа 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().