Python程序:从指定索引处插入多个元素到数组
数组是有序存储的一组相同数据元素的集合。数组中的每个数据元素都由一个索引值标识。
Python中的数组
Python没有原生的数组数据结构。因此,我们可以使用列表数据结构作为数组的替代。
[10, 4, 11, 76, 99]
我们也可以使用Python的NumPy模块来处理数组。
NumPy模块定义的数组为:
array([1, 2, 3, 4])
Python的索引从0开始,因此上述数组元素可以使用它们各自的索引值(0, 1, 2,直到n-1)访问。
在下面的文章中,我们将看到在指定索引处插入多个元素到数组的不同方法。
输入输出场景
假设我们有一个包含4个整数值的数组A。结果数组将在指定索引位置插入多个元素。
Input array: [9, 3, 7, 1] Output array: [9, 3, 6, 2, 10, 7, 1]
在索引位置2处插入元素6、2、10,元素数量增加到7。
Input arrays: [2 4 6 8 1 3 9] Output array: [1 1 1 2 4 6 8 1 3 9]
这里在第0个索引位置插入元素1、1、1。
使用列表切片
为了在指定索引处插入多个元素,我们可以使用列表切片。
示例
在这个例子中,我们将使用列表切片。
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]
使用列表连接
使用列表切片和列表连接,我们将创建一个函数,以便在指定位置插入多个元素。Python列表没有任何方法可以在指定位置插入多个元素。
示例
这里我们将定义一个函数,以便在给定索引处插入多个元素。
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]
insert_elements函数在第2个索引位置插入了从1到4的元素。
使用numpy.insert()方法
在这个例子中,我们将使用numpy.insert()方法在给定的索引处插入多个值。以下是语法:
numpy.insert(arr, obj, values, axis=None)
此方法返回带有插入值的输入数组的副本,但它不会更新原始数组。
示例
在这个例子中,我们将使用**numpy.insert()**方法在第2个索引位置插入3个元素。
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
3个元素1、1、1成功插入到数组**arr**的第2个位置。
示例
在这个例子中,我们将使用所有元素都是字符串的NumPy数组。
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
元素'i' 'j' 'k'在第0个索引位置插入。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP