数组是一个容器,它可以容纳一定数量的项目,这些项目是相同的类型。 大部分数据结构都使用数组来实现它们的算法。 以下是理解数组(Array)概念的重要术语。
- 元素 - 存储在数组中的每个项目称为元素。
- 索引 - 数组中元素的每个位置都有一个数字索引,用于标识元素。
数组表示
数组可以用不同的语言,可以各种方式声明。下面是一个例子。
根据上述说明,需要了解清楚以下问题。
- 索引从
0
开始。 - 数组长度为
10
,这意味着它可以存储10
个元素。 - 每个元素都可以通过索引访问。 例如,可以在索引
6
处获取一个元素的值为9
。
基本操作
以下是数组支持的基本操作。
- 遍历 - 逐个打印所有数组元素。
- 插入 - 在给定的索引处添加一个元素。
- 删除 - 删除给定索引处的元素。
- 搜索 - 使用给定索引或值搜索元素。
- 更新 - 更新给定索引处的元素。
通过将数组模块导入到python程序中来创建数组,数组声明如下所示 -
from array import *
arrayName = array(typecode, [Initializers])
typecode
是用于定义数组将保存的值类型的代码。 一些常用的typecodes
使用如下:
Typecode |
值 |
---|---|
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
1. 访问数组元素
可以使用元素的索引来访问数组中的每个元素。 以下代码显示了如何访问数组中的指定元素 -
from array import *
array1 = array('i', [10,20,30,40,50])
# 访问第一个元素
print (array1[0])
# 访问第三个元素
print (array1[2])
当编译并执行上述程序时,它会产生以下结果 -
10
30
2. 插入操作
插入操作是将一个或多个数据元素插入到数组中。 根据需要,可以在开始,结束或任何给定的数组索引中添加/插入一个新元素。
在这里,使用python内置insert()
方法在数组中间添加一个数据元素。
from array import *
array1 = array('i', [10,20,30,40,50])
array1.insert(1,60)
for x in array1:
print(x)
执行上面示例代码,得到以下结果 -
10
60
20
30
40
50
3. 删除元素操作
删除是指从数组中删除现有元素并重新组织数组的所有元素。
在这里,使用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
4. 查找/搜索操作
可以根据其值或索引来执行数组元素的搜索(查找)。
在这里,使用python内置index()
方法来搜索数组中的元素。
from array import *
array1 = array('i', [10,20,30,40,50])
print (array1.index(40))
执行上面示例代码,得到以下结果 -
3
注意:如果该值不在数组中,则返回一个错误。
5. 更新操作
更新操作是指在给定索引处更新数组中的现有元素。
在这里,只需重新分配一个新的值给想要更新的所需索引即可。
from array import *
array1 = array('i', [10,20,30,40,50])
array1[2] = 180
for x in array1:
print(x)
执行上面示例代码,得到以下结果 -
10
20
180
40
50