内容正文:
2.2.1 一维数组
情境展示
学校抽取50名学生进行身体检查,现要对这50名学生的身高、体重等信息进行存储。
请问最适合的是哪种数据结构?为什么?
数组的概念与特性
1.数组的概念
数组是由相同类型的变量构成的一个序列。
数组使用一个标识符(数组名)命名,并用编号(下标或索引)
区分数组内的各个变量。
由数组名和下标组成数组的各个变量称为数组的分量,也称为数组元素。
2.数组的特性
(1)数组元素的数据类型相同
(2)通过数组名和下标对数组元素的值进行访问
(3)存储空间固定不变
3.array模块
array模块是python中一种高效的数组存储类型。它和list相似,但是
所有的数组成员必须是同一种类型,在创建数组的时候,就确定了数组
的类型。
数组的基本操作
1.数组的创建
数组的创建实质是在系统内划分一块连续区域,用来保存数组所含的所有数据元素。
在python中使用列表来模拟数组,其所占空间大小可以用内置函数len()来获取。
创建数组的两种方法:
1.直接定义
s=[0]*9
print(s)
[0,0,0,0,0,0,0,0,0]
2.列表生成式
s=[0 for i in range(9)]
print(s)
[0,0,0,0,0,0,0,0,0]
2.数组元素的访问
数组元素的访问指的是寻址到特定的数据元素,并根据存储地址对该数据元素进行
读取、修改等操作。由于数组元素可以通过下标和数组名快速确定数据元素的内存
地址,因此可以通过数组名和下标直接进行访问。第一个数据元素的下标为0。
例如,print(a[2])表示将一维数组a中第3个元素的值进行输出。
数组的存储方法是顺序存储,每个元素在存储器中占用的空间大小相同。
若第一个元素存放的位置是LOC(0),每个元素占用的空间大小为s,则元素
a[i]的存放位置为:
LOC(i)=LOC(0)+s*i
任给一个i,可以很快计算出LOC(i)。
3.数组元素的插入
(1)当需要在数组中某个位置插入一个新的数据时,必须先将该位置及其后的所有
数据向后移动一个位置,在保证顺序不变的前提下保存这些数据,最后再修改该位置
上的数据为新数据。
例:已知数组a所占空间为len(a),其元素个数(实际长度)为n,当n<len(a)时,
在数组a的下标p处插入一个新