array — arrays van numerieke data

Deze module definieert het array.array-type: een ruimte-efficiënte reeks waarden van één vast numeriek type, indexeerbaar als een lijst maar ondersteund door een aaneengesloten geheugenblok dat toegankelijk is via het buffer-protocol.

Ondersteunde typecodes

Het typecode-argument van één teken selecteert het elementtype:

Typecode

C-type

Bytes

Python-type

'b'

signed char

1

int

'B'

unsigned char

1

int

'h'

signed short

2

int

'H'

unsigned short

2

int

'i'

signed int

2 of 4

int

'I'

unsigned int

2 of 4

int

'l'

signed long

4

int

'L'

unsigned long

4

int

'q'

signed long long

8

int

'Q'

unsigned long long

8

int

'f'

float

4

float

'd'

double

8

float

De codes 'f' en 'd' vereisen firmware die is gebouwd met floating-point-ondersteuning (de standaard op de meeste boards). De exacte breedte van 'i' en 'I' volgt de C-ABI van de host — doorgaans 4 bytes op de Cortex-M-ports.

Klassen

class array.array(typecode: str, iterable: Iterable = ())

Maak een array met elementen van het opgegeven type. De initiële inhoud van de array wordt gegeven door iterable. Als deze niet wordt opgegeven, wordt een lege array aangemaakt.

Naast de onderstaande methoden implementeren array-objecten ook het buffer-protocol. Dit betekent dat de inhoud van de gehele array toegankelijk is als ruwe bytes via een memoryview of andere interfaces die dit protocol gebruiken.

append(val: Any) None

Voeg nieuw element val toe aan het einde van de array, waardoor deze groeit.

extend(iterable: Iterable) None

Voeg nieuwe elementen zoals opgenomen in iterable toe aan het einde van de array, waardoor deze groeit.

__getitem__(index: int | slice) Any

Geïndexeerde lezing van de array, aangeroepen als a[index] (waarbij a een array is). Retourneert een waarde als index een int is en een array als index een slice is. Negatieve indices tellen vanaf het einde en IndexError wordt geworpen als de index buiten bereik is.

Opmerking: __getitem__ kan niet rechtstreeks worden aangeroepen (a.__getitem__(index) mislukt) en is niet aanwezig in __dict__, maar a[index] werkt wel.

__setitem__(index: int | slice, value: Any) None

Geïndexeerde schrijving naar de array, aangeroepen als a[index] = value (waarbij a een array is). value is een enkele waarde als index een int is en een array als index een slice is. Negatieve indices tellen vanaf het einde en IndexError wordt geworpen als de index buiten bereik is.

Opmerking: __setitem__ kan niet rechtstreeks worden aangeroepen (a.__setitem__(index, value) mislukt) en is niet aanwezig in __dict__, maar a[index] = value werkt wel.

__len__() int

Retourneert het aantal items in de array, aangeroepen als len(a) (waarbij a een array is).

Opmerking: __len__ kan niet rechtstreeks worden aangeroepen (a.__len__() mislukt) en de methode is niet aanwezig in __dict__, maar len(a) werkt wel.

__add__(other: array) array

Retourneert een nieuwe array die de samenvoeging is van de array met other, aangeroepen als a + other (waarbij a en other beide arrays zijn).

Opmerking: __add__ kan niet rechtstreeks worden aangeroepen (a.__add__(other) mislukt) en is niet aanwezig in __dict__, maar a + other werkt wel.

__iadd__(other: array) array

Voegt de array in-place samen met other, aangeroepen als a += other (waarbij a en other beide arrays zijn). Equivalent aan extend(other).

Opmerking: __iadd__ kan niet rechtstreeks worden aangeroepen (a.__iadd__(other) mislukt) en is niet aanwezig in __dict__, maar a += other werkt wel.

__repr__() str

Retourneert de stringrepresentatie van de array, aangeroepen als str(a) of repr(a) (waarbij a een array is). Retourneert de string "array(<type>, [<elements>])", waarbij <type> de typecode-letter voor de array is en <elements> een door komma’s gescheiden lijst van de elementen van de array is.

Opmerking: __repr__ kan niet rechtstreeks worden aangeroepen (a.__repr__() mislukt) en is niet aanwezig in __dict__, maar str(a) en repr(a) werken beide wel.