天天看點

python之數組子產品array_Python 數組(Array)

如果存儲的資料類型相同,list的存儲方式就顯得不太合适,python提供了array子產品進行數組的操作。

特性:

(1)array 中每一個元素及為值本身。

(2)array使用連續的存儲空間存儲一組相同類型的值。

(3)array比list具有更快的讀寫速度和更少的占用空間。

(4)array的操作和list基本相似。

(5)支援基本符号運算和切片

(6)array通過格式符字元表示資料的類型。

格式符:

定義數組時必須指定資料類型,且隻能為基礎類型,不能為類或者其他組合類型(如上,其中i即為int對應的格式化的值)

array 類型 C 類型 位元組長度

‘c‘ char 1

‘b‘ signed char 1

‘B‘ unsigned char 1

‘u‘ Unicode char 2 (雙位元組字元)

‘h‘ signed short 2

‘H‘ unsigned short 2

‘i‘ signed int 4

‘I‘ unsigned int 4

‘l‘ signed long long 8

‘L‘ unsigned long long 8

‘f‘ float 4

‘d‘ double 8

基本操作:

a1 = array.array("i") # 定義一個數組

a1.append(100) # 追加資料

a2 = array.array("i", (1, 2, 3, 4)) # 定義一個數組并初始化資料

a3 = a1 + a2 # 兩個數組相加 array(‘i‘, [100, 1, 2, 3, 4])

a2.append(2)           # 末尾添加一個元素

a2.buffer_info()            # 傳回數組空間的首位址和數組元素個數 結果(58980416L, 5)

a2.byteswap()            # 數組中的每一個元素進行大小端轉換

a2.byteswap()

a2.count(2)            # 統計數組中2個個數

a2.extend(a1)            # 相當與 a2 += a1

a2.tofile(open("test.txt", "w+")) # a2的二進制資料寫入到檔案中

a2.fromfile(open("test.txt", "r+"), 2) # 從檔案中讀取2個資料追加到a2末尾

l = a2.tolist()             # a2數組轉換到list 結果 [1, 2, 3, 4, 2, 100, 1, 2]

a2.fromlist(l)              # 将list中的值轉換追加到數組a2的末尾

s = a2.tostring()             # a2 數組轉換到二進制字元串

a2.fromstring(s)              # 将二進制字元串值轉換追加到a2的末尾

a2.reverse()              # 将數組的值倒序

a2.insert(0, 100)              # 在a2下标為0的前面插入100

a2.index(2)              # 第一次比對到2的位置

a = a2.pop()              # 傳回最後一個元素,并在a2數組中删除該元素

a = a2.pop(1)              # 傳回指定下标1的元素,并在a2數組中删除該元素

a2.typecode              # 傳回資料類型格式,結果為i

a2.itemsize              # 傳回數組類型的大小,結果為4

原文:https://www.cnblogs.com/lwp-boy/p/13546358.html