python array函数_Python语言中使用array模块实现动态数组的操作

背景

对于动态数组诸如创建、插入、删除、查询大小等操作,在C/C++语言中,可以使用标准库中的vector类实现,而在python语言中,也同样提供了内置的array模块实现类似的功能。

Python中的array类似于列表list,如都可以动态增删元素,但又有所区别,list中存储的元素类型可以不一样,但array中元素类型必须完全一样。另外,由于list中每个元素同时存储了其地址即指针(用以标记每个元素的数据类型)和实际的数据,所以,在存储及操作效率上,array又远远高于列表。

下面通过例子讲解array模块的常用操作。

动态数组的创建

创建方式为:array.array(typecode[, initializer]),第1个参数typecode定义了数组元素的类型,第2个可选参数给出了数组中的初始值。如下面的代码创建了一个int型的包含3个元素的数组x,其初始值为分别为1、2、3。其索引方式同列表类似,下标从0开始,如x[1]代表取数组x中的第2个元素。

import array

x = array.array(‘i, [1, 2, 3]

在数组的定义中,数组元素的类型通过一个字符typecode参数指定,它的取值情况如下表所示:

u=1795858096,3366185606&fm=173&app=25&f=JPEG?w=589&h=397&s=00134D30599FC4CE08F585DA0000C0B7

动态数组的常用操作

1、数组元素的增加

x.append(2)

x.extend([5, 1]

x.insert(3, 9)

其中,append在数组的末尾增加一个元素,extend在数组的末尾增加多个元素,insert(i, x)在指定位置i处增加一个元素。

2、数组元素的删除

x.pop()

x.pop(1)

x.remove(3)

其中,pop(i)删除第i个元素,当参数为空时,删除最后一个元素。remove(x),删除第一个出现的x值。

3、数组的其它操作

x.typecode #返回当前数组的元素类型

x.itemsize #返回当前数组中每个元素的字节大小

x.buffer_info() #返回包含2个元素的一个元组,第1个是数组的内存地址,第2个是数组中元素的个数

x.count(3) #统计数组中3出现的次数

x.index(3) #返回数组中3第一次出现的位置

x.byteswap() #对数组中的每个元素进行字节高、低位交换

x.reverse() #对数组中的元素逆序排列

备注

数组array模块的操作函数同列表list类似,但是其运行及存储效率要远远高于列表list,这在动态数据的采集场合是用的比较多的。这儿只给出了该模块的一些常用操作,还有其它的一些函数,大家可以自行查看帮助,比较简单。本文的完整例子代码如下:

u=3863502813,3856185072&fm=173&app=25&f=JPEG?w=581&h=628&s=B284F148DAA7B37E5A55C40F0000E0C3

运行结果如下图所示:

u=970627963,3305597790&fm=173&app=25&f=JPEG?w=413&h=299&s=0350CB208BBEBECC0CD1FC07020090C3

欢迎加关注,共同交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值