Python数据结构 数组
数组是一个容器,可以容纳固定数量的项目,这些项目应该是相同的类型。大多数数据结构都使用数组来实现其算法。以下是理解数组概念的重要术语–数组。
- 元素 – 存储在数组中的每个项目被称为一个元素。
-
索引 – 一个数组中的每个元素的位置都有一个数字索引,用来识别该元素。
数组的表示方法
在不同的语言中,数组可以用不同的方式声明。下面是一个插图。
根据上述图示,以下是需要考虑的要点
- 索引以0开始。
-
数组长度为10,这意味着它可以存储10个元素。
-
每个元素都可以通过其索引访问。例如,我们可以把索引6的元素当作9来获取。
基本操作
数组所支持的基本操作如下所示
- 遍历 – 逐一打印所有的数组元素。
-
插入 – 在给定的索引上增加一个元素。
-
删除- 在给定的索引处删除一个元素。
-
搜索 – 使用给定的索引或通过值搜索一个元素。
-
更新- 在给定的索引处更新一个元素。
在Python中,通过向Python程序中导入数组模块来创建数组。然后,数组的声明如下所示
from array import *
arrayName = array(typecode, [Initializers])
类型码是用来定义数组所容纳的值的类型的代码。一些常用的类型代码如下– 类型代码
类型代码 | 价值 |
---|---|
b | 代表大小为1字节的有符号整数 |
B | 代表大小为1字节的无符号整数 |
c | 代表大小为1字节的字符 |
i | 代表大小为2字节的有符号整数 |
I | 代表大小为2字节的无符号整数 |
f | 代表大小为4字节的浮点。 |
d | 代表大小为8字节的浮点。 |
在研究各种数组操作之前,让我们用python创建并打印一个数组。
例子
下面的代码创建了一个名为 array1 的数组 。
from array import *
array1 = array('i', [10,20,30,40,50])
for x in array1:
print(x)
输出
当我们编译和执行上述程序时,它产生了以下结果 –
10
20
30
40
50
访问数组元素
我们可以使用元素的索引来访问数组的每个元素。下面的代码显示了如何访问一个数组元素。
例子
from array import *
array1 = array('i', [10,20,30,40,50])
print (array1[0])
print (array1[2])
输出
当我们编译和执行上述程序时,它产生了以下结果,这表明元素被插入了索引位置1。
10
30
插入操作
插入操作是将一个或多个数据元素插入到一个数组中。根据要求,一个新的元素可以被添加到数组的开始、结束或任何给定的索引。
例子
在这里,我们使用python内置的insert()方法在数组的中间位置添加一个数据元素。
from array import *
array1 = array('i', [10,20,30,40,50])
array1.insert(1,60)
for x in array1:
print(x)
当我们编译和执行上述程序时,它产生的结果如下,显示元素被插入索引位置1。
输出
10
60
20
30
40
50
删除操作
删除是指从数组中删除一个已有的元素,重新组织数组中的所有元素。
例子
在这里,我们使用python内置的remove()方法删除数组中间的一个数据元素。
from array import *
array1 = array('i', [10,20,30,40,50])
array1.remove(40)
for x in array1:
print(x)
输出
当我们编译并执行上述程序时,它产生了以下结果,表明该元素从数组中被删除。
10
20
30
50
搜索操作
你可以根据一个数组元素的值或其索引来执行搜索。
例子
这里,我们使用python内置的index()方法搜索一个数据元素。
from array import *
array1 = array('i', [10,20,30,40,50])
print (array1.index(40))
输出
当我们编译和执行上述程序时,它产生了以下结果,显示了元素的索引。如果该值不在数组中,那么该程序将返回一个错误。
3
更新操作
更新操作是指在给定的索引处更新数组中的一个现有元素。
例子
在这里,我们简单地将一个新的值重新分配给我们想要更新的索引。
from array import *
array1 = array('i', [10,20,30,40,50])
array1[2] = 80
for x in array1:
print(x)
输出
当我们编译并执行上述程序时,它产生了以下结果,显示了索引位置2的新值。
10
20
80
40
50