Python 程序在指定索引处插入元素


数组是一种数据结构,用于存储同类数据元素的集合。数组中的每个元素都由一个索引值标识。

Python 中的数组

Python 本身没有用于表示数组的数据结构。但是,我们可以使用列表数据结构作为数组的替代方案。这里我们将使用列表作为数组 -

[10, 4, 11, 76, 99]

Python 还提供了一些更合适的模块,这些模块是 NumPy 和 array 模块。

NumPy 模块定义的 NumPy 数组为 -

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

Python 中的索引从 0 开始,因此上述数组元素使用其各自的索引值(如 0、1、2,直到 n-1)来访问。

在下面的文章中,我们将看到使用 Python 编程在指定索引处将元素插入数组的多种方法。

输入输出场景

假设我们有一个包含 6 个整数值的数组 A。插入元素后,结果数组将在指定的索引位置插入元素。

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() 方法

为了在指定索引处将元素插入数组,我们可以在 Python 中使用 insert() 方法。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 在给定位置 4 处更新了新元素 10。

使用 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 - 它定义了插入元素的索引。

  • values - 要插入输入数组的元素。

  • axis - 要插入值的轴。默认为 None。

示例

在此示例中,我们将使用 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]

使用 numpy.insert() 函数在位置 5 处成功插入了元素 10。

更新于: 2023年5月29日

3K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告