Python - 数组

数组是一个容器,可以容纳固定数量的元素,并且这些元素应该是同一类型。 大多数数据结构都使用数组来实现它们的算法。 以下是了解数组概念的重要术语如下 −

  • 元素 − 存储在数组中的每个项目称为一个元素。

  • 索引 − 数组中元素的每个位置都有一个数字索引,用于标识该元素。


数组表示

数组可以用不同的语言以不同的方式声明。 下面是一个例子。

数组声明 数组表示法

根据上图,需要考虑以下重点 −

  • 索引从0开始。

  • 数组长度为10,表示可以存储10个元素。

  • 每个元素都可以通过其索引访问。 例如,我们可以将索引为 6 的元素取为 9。


基本操作

数组支持的基本操作如下 −

  • 遍历 − 将所有数组元素一一打印出来。

  • 插入 − 在给定索引处添加一个元素。

  • 删除 − 删除给定索引处的元素。

  • 搜索 − 使用给定索引或按值搜索元素。

  • 更新 − 更新给定索引处的元素。

数组是通过将 array 模块导入 python 程序在 Python 中创建的。 然后,数组声明如下所示 −

from array import *

arrayName = array(typecode, [Initializers])

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

访问数组元素

我们可以使用元素的索引访问数组的每个元素。 下面的代码显示了如何访问数组元素。

示例

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