Python - 数组(Arrays)

Python - 数组(Arrays) 首页 / 数据结构入门教程 / Python - 数组(Arrays)

数组是一个集合,可以容纳固定数量的元素,这些元素应为同一类型。

  • 元素(Element) - 数组中存储的元素。
  • 索引(Index)      - 数组中元素的每个位置都有一个数字索引,用于标识元素。

数组表示

可以使用不同的语言以各种方式声明数组。下面是一个插图。

Array Declaration数组表示

根据上面的说明,以下是要考虑的重点。

  • 索引从0开始。

  • 数组长度为10,这意味着它可以存储10个元素。

  • 每个元素都可以通过其索引进行访问。

    无涯教程网

基本操作

以下是数组支持的基本操作。

  • 遍历(Traverse)     - 逐一打印所有数组元素。

  • 插入(Insertion)    - 在给定索引处添加一个元素。

  • 删除(Deletion)     - 删除给定索引处的元素。

  • 搜索(Search)        - 使用给定的索引或值搜索元素。

  • 更新(Update)       - 更新给定索引处的元素。

通过将数组模块导入python程序,在python中创建数组。然后将该数组声明为eblow。

from array import *

arrayName=array(typecode, [Initializers])

Typecode是用于定义数组将保存的值的类型的代码。一些常用的类型代码是:

TypecodeValue
b1字节的有符号整数
B1字节的无符号整数
c1个字节的字符
i2字节的有符号整数
I2字节的无符号整数
f4字节的浮点
d8个字节的浮点

在查看各种数组操作之前,让无涯教程使用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])
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)
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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开始学大数据 -〔李智慧〕

从0开发一款iOS App -〔朱德权〕

浏览器工作原理与实践 -〔李兵〕

DDD实战课 -〔欧创新〕

跟月影学可视化 -〔月影〕

手机摄影 -〔@随你们去〕

基于人因的用户体验设计课 -〔刘石〕

MySQL 必知必会 -〔朱晓峰〕

现代React Web开发实战 -〔宋一玮〕

好记忆不如烂笔头。留下您的足迹吧 :)