python--之数组(array)
计算机为数组分配一段连续的内存,从而支持对数组随机访问;
由于项的地址在编号上是连续的,数组某一项的地址可以通过将两个值相加得出,即将数组的基本地址和项的偏移地址相加。
数组的基本地址就是数组的第一项的机器地址。一个项的偏移地址就等于它的索引乘以数组的一个项所需要的内存单元数目的一个常量表示(在python中,这个值总是1)
array 模块就是数组,可以存放放一组相同类型的数字,array模块是python中实现的一种高效的数组存储类型。它和list相似,但是所有的数组成员必须是同一种类型,在创建数组的时候,就确定了数组的类型
import array arr = array.array('i',[0,1,1,3]) #创建array数组 #参数1:数据类型 #参数2:数组的初始化值 print(arr) #array('i', [0, 1, 1, 3]) x=array.typecodes #返回array可用的数据类型的代码符号 #bBuhHiIlLqQfd x=arr.itemsize #返回数组arr的元素个数 #4 arr.append(4) #将值添加到数组的末尾 #array('i', [0, 1, 1, 3, 4]) x=arr.buffer_info() #返回数组在存储器中的地址、元素的个数,以元组形式(地址,长度)返回 #(1633944756944, 5) arr.append(110) #array('i', [0, 1, 1, 3, 4, 110]) x=arr.count(1) #返回元素1在数组中出现的次数 # 2 L=(20,30) arr.extend(L) #将可迭代对象的元素序列附加到数据的末尾 #array('i', [0, 1, 1, 3, 4, 110, 20, 30]) LL=[200,300] arr.fromlist(LL) #将列表中的元素追加到数组后面 #array('i', [0, 1, 1, 3, 4, 110, 20, 30, 200, 300]) x=arr.index(1) #返回数组中1的最小序号 arr.insert(1,22) #在序号处插入指定元素 #参数1:位置序号 #参数2:要插入的元素 #array('i', [0, 22, 1, 1, 3, 4, 110, 20, 30, 200, 300]) x=arr.pop(6) #删除指定索引项,并返回删除项的元素值 #array('i', [0, 22, 1, 1, 3, 4, 20, 30, 200, 300]) arr.remove(1) #删除第一次出现的元素值 #array('i', [0, 22, 1, 3, 4, 20, 30, 200, 300]) arr.reverse() #反转元素的顺序 #array('i', [300, 200, 30, 20, 4, 3, 1, 22, 0]) x = arr.tolist() #把数组转换成列表 #[300, 200, 30, 20, 4, 3, 1, 22, 0] print(x,arr)