Python 数组
Python的标准数据类型 list, tuple 和 string 都是序列型数据。序列对象是有序的集合,每个元素都有一个从零开始递增的标识索引。此外,序列中的元素并非必须是相同的数据类型。换句话说,一个列表或元组可以由不同数据类型的元素组成。
这一特点与C或C++中数组的概念有所不同。在C/C++中,数组同样也是有索引的元素集合,但元素必须是相同的数据类型。在C/C++中,你可以有一个由整数、浮点数或字符串组成的数组,但不能同时包含整数和其他不同类型的元素。因此,C/C++中的数组是一组同质的数据类型。
Python的标准库中有一个数组模块。其中的array类允许你构建三种基本类型的数组,即整数、浮点数和Unicode字符。
语法
创建数组的语法为-
import array
obj = array.array(typecode[, initializer])
参数
- typecode − 用于创建数组的类型码字符。
-
initializer − 从可选值初始化的数组,该值必须是列表、类似于字节的对象或适当类型的元素可迭代。
返回类型
array() 构造函数返回一个 array.array 类的对象。
示例
import array as arr
# creating an array with integer type
a = arr.array('i', [1, 2, 3])
print (type(a), a)
# creating an array with char type
a = arr.array('u', 'BAT')
print (type(a), a)
# creating an array with float type
a = arr.array('d', [1.1, 2.2, 3.3])
print (type(a), a)
这将产生以下 输出 −
<class 'array.array'> array('i', [1, 2, 3])
<class 'array.array'> array('u', 'BAT')
<class 'array.array'> array('d', [1.1, 2.2, 3.3])
数组是序列类型,与列表非常相似,只是存储在其中的对象类型受到约束。
Python数组类型由单个字符的类型码参数决定。下面列出了类型码和数组的预期数据类型。
typecode | Python data type | Byte size |
---|---|---|
‘b’ | signed integer | 1 |
‘B’ | unsigned integer | 1 |
‘u’ | Unicode character | 2 |
‘h’ | signed integer | 2 |
‘H’ | unsigned integer | 2 |
‘i’ | signed integer | 2 |
‘I’ | unsigned integer | 2 |
‘l’ | signed integer | 4 |
‘L’ | unsigned integer | 4 |
‘q’ | signed integer | 8 |
‘Q’ | unsigned integer | 8 |
‘f’ | floating point | 4 |
‘d’ | floating point | 8 |