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。