Home > Backend Development > Python Tutorial > Python program to insert multiple elements into an array at specified index positions

Python program to insert multiple elements into an array at specified index positions

PHPz
Release: 2023-09-03 22:13:06
forward
864 people have browsed it

Python program to insert multiple elements into an array at specified index positions

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.

Arrays in Python

Python has no native array data structure. Therefore, we can use list data structure instead of array.

[10, 4, 11, 76, 99]
Copy after login

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])
Copy after login

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.

Input and output scenarios

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]
Copy after login

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]
Copy after login

Element 1 1 1 is inserted at the 0th index position.

Use list slicing

To insert multiple elements at a specified index, we can use list slicing.

Example

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)
Copy after login

Output

Original array: [2, 3, 1, 4, 7, 5]
Array after inserting multiple elements: [2, 10, 11, 12, 3, 1, 4, 7, 5]
Copy after login

Use list concatenation

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.

Example

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)
Copy after login

Output

Original array: [1, 2, 3, 4, 5, 6]
Array after inserting multiple elements: [1, 2, 1, 2, 3, 3, 4, 5, 6]
Copy after login

The insert_elements function inserts elements from 1 to 4 at the 2nd index position.

Use numpy.insert() method

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)
Copy after login

This method returns a copy of the input array with the values ​​inserted. But it doesn't update the original array.

Example

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))
Copy after login

Output

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
Copy after login

Three elements 1, 1, 1 were successfully inserted into the array arr at position 2.

Example

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))
Copy after login

Output

Original array:  ['a' 'b' 'c' 'd']
Array ['i' 'j' 'k' 'a' 'b' 'c' 'd'] after inserting multiple elements at the index 0
Copy after login

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!

Related labels:
source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template