array — Arrays numerischer Daten

Dieses Modul definiert den Typ array.array: eine speichereffiziente Sequenz von Werten eines einzigen festen numerischen Typs, indizierbar wie eine Liste, aber durch einen zusammenhängenden Speicherblock gestützt, der über das Buffer-Protokoll zugänglich ist.

Unterstützte Type-Codes

Das Ein-Zeichen-Argument typecode wählt den Elementtyp aus:

Type-Code

C-Typ

Bytes

Python-Typ

'b'

signed char

1

int

'B'

unsigned char

1

int

'h'

signed short

2

int

'H'

unsigned short

2

int

'i'

signed int

2 oder 4

int

'I'

unsigned int

2 oder 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

Die Codes 'f' und 'd' erfordern eine Firmware, die mit Gleitkomma-Unterstützung gebaut wurde (auf den meisten Boards der Standard). Die genaue Breite von 'i' und 'I' folgt dem Host-C-ABI — typischerweise 4 Bytes auf den Cortex-M-Ports.

Klassen

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

Erstellt ein Array mit Elementen des angegebenen Typs. Der anfängliche Inhalt des Arrays wird durch iterable angegeben. Wird es nicht bereitgestellt, wird ein leeres Array erstellt.

Zusätzlich zu den untenstehenden Methoden implementieren Array-Objekte auch das Buffer-Protokoll. Das bedeutet, dass auf den Inhalt des gesamten Arrays als rohe Bytes über ein memoryview oder andere Schnittstellen, die dieses Protokoll verwenden, zugegriffen werden kann.

append(val: Any) None

Hängt das neue Element val an das Ende des Arrays an und vergrößert es.

extend(iterable: Iterable) None

Hängt die in iterable enthaltenen neuen Elemente an das Ende des Arrays an und vergrößert es.

__getitem__(index: int | slice) Any

Indizierter Lesezugriff auf das Array, aufgerufen als a[index] (wobei a ein array ist). Gibt einen Wert zurück, wenn index ein int ist, und ein array, wenn index ein Slice ist. Negative Indizes zählen vom Ende, und IndexError wird ausgelöst, wenn der Index außerhalb des gültigen Bereichs liegt.

Hinweis: __getitem__ kann nicht direkt aufgerufen werden (a.__getitem__(index) schlägt fehl) und ist nicht in __dict__ vorhanden, a[index] funktioniert jedoch.

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

Indizierter Schreibzugriff auf das Array, aufgerufen als a[index] = value (wobei a ein array ist). value ist ein einzelner Wert, wenn index ein int ist, und ein array, wenn index ein Slice ist. Negative Indizes zählen vom Ende, und IndexError wird ausgelöst, wenn der Index außerhalb des gültigen Bereichs liegt.

Hinweis: __setitem__ kann nicht direkt aufgerufen werden (a.__setitem__(index, value) schlägt fehl) und ist nicht in __dict__ vorhanden, a[index] = value funktioniert jedoch.

__len__() int

Gibt die Anzahl der Elemente im Array zurück, aufgerufen als len(a) (wobei a ein array ist).

Hinweis: __len__ kann nicht direkt aufgerufen werden (a.__len__() schlägt fehl) und die Methode ist nicht in __dict__ vorhanden, len(a) funktioniert jedoch.

__add__(other: array) array

Gibt ein neues array zurück, das die Verkettung des Arrays mit other ist, aufgerufen als a + other (wobei a und other beide arrays sind).

Hinweis: __add__ kann nicht direkt aufgerufen werden (a.__add__(other) schlägt fehl) und ist nicht in __dict__ vorhanden, a + other funktioniert jedoch.

__iadd__(other: array) array

Verkettet das Array mit other an Ort und Stelle, aufgerufen als a += other (wobei a und other beide arrays sind). Entspricht extend(other).

Hinweis: __iadd__ kann nicht direkt aufgerufen werden (a.__iadd__(other) schlägt fehl) und ist nicht in __dict__ vorhanden, a += other funktioniert jedoch.

__repr__() str

Gibt die String-Repräsentation des Arrays zurück, aufgerufen als str(a) oder repr(a) (wobei a ein array ist). Gibt den String "array(<type>, [<elements>])" zurück, wobei <type> der Type-Code-Buchstabe für das Array ist und <elements> eine durch Kommas getrennte Liste der Elemente des Arrays ist.

Hinweis: __repr__ kann nicht direkt aufgerufen werden (a.__repr__() schlägt fehl) und ist nicht in __dict__ vorhanden, str(a) und repr(a) funktionieren jedoch beide.