Python中array函数用法(数组array函数用法详解)
一般来说,我们将Python中的list列表当作数组。但是Python中真正的数组是:array。
它看上去跟list很相似,但是list列表成员可以是任意类型的组合也可以是单一的类型组合,而array数组并不能是,它的所有成员必须是相同的类型。包括了所有的数值类型或其他固定大小的基本类型。
支持的类型如下表:
代码 | 类型 | 最小大小(字节) |
b | Int | 1 |
B | Int | 1 |
h | Signed short | 2 |
H | Unsigned short | 2 |
i | Signed int | 2 |
I | Unsigned int | 2 |
l | Signed long | 4 |
L | UnSigned long | 4 |
q | Signed long long | 8 |
Q | Unsigned long long | 8 |
f | Float | 4 |
d | Double float | 8 |
array数组被实例化时,可以提供一个参数来描述其允许哪种类型,还可以有一个存储在数组中的初始数据序列。
具体代码如下:
import array s = b'My name is Li Yuanjing' a = array.array('b', s) print(a)
运行之后,效果如下:
这里,我们直接将字符串转换为对应的数值ASCII编码。其中array.array()函数的第1个参数为类型,具体类型如本博文开头所示。
基本用法
如其他Python序列类似,array数组可以采用同样的方式进行扩展和处理。具体操作如下:
import array a = array.array('i', range(5)) print("构造函数创建") print(a) a.extend(range(5)) print("增添值") print(a) print("获取第3到第5个元素(不包括5,从0开始):") print(a[3:5]) print("转换为list列表") print(list(enumerate(a)))
运行之后,效果如下:
数据转换
在实际的应用中,往往有时候需要将数组写入文件进行保存。这个时候,如何高效率的存储array数组是非常重要的,毕竟不是文本字符串。
一般来说,我们会将array直接转换为二进制进行存储。具体操作如下:
import array import binascii a = array.array('i', range(5)) print(a) a_bytes = a.tobytes() print(binascii.hexlify(a_bytes)) a2 = array.array('i') a2.frombytes(a_bytes) print(a2)
运行之后,效果如下:
中间输出的是16进制。tobytes往往与frombytes结合起来使用。文件方面也是,tofile()往往与tobytes()格式化数据一起用。
原文地址:https://tangjiusheng.cn/it/1311.html
- 全局变量和局部变量有什么区别(python中的全局变量和局部变量介绍)
- python中str函数是什么意思(一文了解str函数)
- Python打包exe详细步骤(Py使用Pyinstaller打包exe教程)
- 在python中%是什么意思(百分号%在python中的用法)
- python中eval()函数的作用是什么(eval函数详解)
- int在python中的意思(int在python中的意义和用法)
- python怎么运行代码(教你运行代码程序方法)
- 如何用python随机生成数字(生成随机数的几种常用方法)
- python爬虫入门教程(五分钟学会Python网络爬虫)
- python运算符号有哪些(python算术运算符详解)