An array is a collection of similar data elements stored in an organized manner. Each data element in the array is identified by an index value.
Python has no native array data structure. Therefore, we can use list data structure instead of array.
[10, 4, 11, 76, 99]
At the same time, we can use the Python Numpy module to process arrays.
The array defined by the numpy module is −
array([1, 2, 3, 4])
Indices in Python start from 0, so the above array elements can be accessed using their respective index values, such as 0, 1, 2, up to n-1.
In the following article, we will see different ways to insert multiple elements at specified indexes.
Suppose we have an array A containing 4 integer values. The resulting array will have multiple elements inserted at the specified index positions.
Input array: [9, 3, 7, 1] Output array: [9, 3, 6, 2, 10, 7, 1]
Insert elements 6, 2, and 10 into index position 2, and increase the number of elements to 7.
Input arrays: [2 4 6 8 1 3 9] Output array: [1 1 1 2 4 6 8 1 3 9]
Element 1 1 1 is inserted at the 0th index position.
To insert multiple elements at a specified index, we can use list slicing.
In this example, we will use list slicing.
l = [2, 3, 1, 4, 7, 5] # print initial array print("Original array:", l) specified_index = 1 multiple_elements = 10, 11, 12 # insert element l[specified_index:specified_index] = multiple_elements print("Array after inserting multiple elements:", l)
Original array: [2, 3, 1, 4, 7, 5] Array after inserting multiple elements: [2, 10, 11, 12, 3, 1, 4, 7, 5]
Using list slicing and list splicing, we will create a function that inserts multiple elements at a specified position. Python lists don't have any method to insert multiple elements at a specified position.
Here we will define a function that inserts multiple elements at a given index.
def insert_elements(array, index, elements): return array[:index] + elements + array[index:] l = [1, 2, 3, 4, 5, 6] # print initial array print("Original array: ", l) specified_index = 2 multiple_elements = list(range(1, 4)) # insert element result = insert_elements(l, specified_index, multiple_elements) print("Array after inserting multiple elements: ", result)
Original array: [1, 2, 3, 4, 5, 6] Array after inserting multiple elements: [1, 2, 1, 2, 3, 3, 4, 5, 6]
The insert_elements function inserts elements from 1 to 4 at the 2nd index position.
In this example, we will use the numpy.insert() method to insert multiple values at a given index. The following is the syntax -
numpy.insert(arr, obj, values, axis=None)
This method returns a copy of the input array with the values inserted. But it doesn't update the original array.
In this example, we will use the numpy.insert() method to insert 3 elements at the second index position.
import numpy as np arr = np.array([2, 4, 6, 8, 1, 3, 9]) # print initial array print("Original array: ", arr) specified_index = 2 multiple_elements = 1, 1, 1 # insert element result = np.insert(arr, specified_index, multiple_elements) print("Array {} after inserting multiple elements at the index {} ".format(result,specified_index))
Original array: [2 4 6 8 1 3 9] Array [2 4 1 1 1 6 8 1 3 9] after inserting multiple elements at the index 2
Three elements 1, 1, 1 were successfully inserted into the array arr at position 2.
In this example we will use a numpy array containing all string elements.
import numpy as np arr = np.array(['a','b', 'c', 'd']) # print initial array print("Original array: ", arr) specified_index = 0 multiple_elements = list('ijk') # insert element result = np.insert(arr, specified_index, multiple_elements) print("Array {} after inserting multiple elements at the index {} ".format(result,specified_index))
Original array: ['a' 'b' 'c' 'd'] Array ['i' 'j' 'k' 'a' 'b' 'c' 'd'] after inserting multiple elements at the index 0
Element 'i' 'j' 'k' is inserted at the 0th index position.
The above is the detailed content of Python program to insert multiple elements into an array at specified index positions. For more information, please follow other related articles on the PHP Chinese website!