array --- 數值資料陣列¶
此模組定義了 array.array 型別:一種節省空間的序列,存放單一固定數值型別的值,可像 list 一樣索引,但其後備為一塊連續記憶體,並可透過緩衝協定存取。
支援的型別碼¶
單字元的 typecode 引數用以選取元素型別:
型別碼 |
C 型別 |
位元組 |
Python 型別 |
|---|---|---|---|
|
|
1 |
|
|
|
1 |
|
|
|
2 |
|
|
|
2 |
|
|
|
2 或 4 |
|
|
|
2 或 4 |
|
|
|
4 |
|
|
|
4 |
|
|
|
8 |
|
|
|
8 |
|
|
|
4 |
|
|
|
8 |
|
'f' 與 'd' 碼需要韌體建置時帶有浮點支援(在多數開發板上為預設)。'i' 與 'I' 的確切寬度依主機的 C ABI 而定 --- 在 Cortex-M 移植版上通常為 4 位元組。
類別¶
- class array.array(typecode: str, iterable: Iterable = ())¶
建立一個元素為指定型別的陣列。陣列的初始內容由 iterable 給定。若未提供,則建立一個空陣列。
除了下列方法之外,陣列物件也實作了緩衝協定。這表示整個陣列的內容可透過
memoryview或其他使用此協定的介面,以原始位元組的形式存取。- __getitem__(index: int | slice) Any¶
對陣列進行索引讀取,以
a[index]形式呼叫(其中a為array)。若 index 為int則傳回一個值,若 index 為切片則傳回一個array。負索引從末端起算,若索引超出範圍則擲出IndexError。注意:
__getitem__無法直接呼叫(a.__getitem__(index)會失敗),且不存在於__dict__中,但a[index]確實可運作。
- __setitem__(index: int | slice, value: Any) None¶
對陣列進行索引寫入,以
a[index] = value形式呼叫(其中a為array)。若 index 為int則value為單一值,若 index 為切片則為一個array。負索引從末端起算,若索引超出範圍則擲出IndexError。注意:
__setitem__無法直接呼叫(a.__setitem__(index, value)會失敗),且不存在於__dict__中,但a[index] = value確實可運作。
- __len__() int¶
傳回陣列中的項目數,以
len(a)形式呼叫(其中a為array)。注意:
__len__無法直接呼叫(a.__len__()會失敗),且此方法不存在於__dict__中,但len(a)確實可運作。
- __add__(other: array) array¶
傳回一個新的
array,為該陣列與 other 的串接結果,以a + other形式呼叫(其中a與 other 皆為arrays)。注意:
__add__無法直接呼叫(a.__add__(other)會失敗),且不存在於__dict__中,但a + other確實可運作。