array — arrayer av numerisk data

Denna modul definierar typen array.array: en utrymmeseffektiv sekvens av värden av en enda fast numerisk typ, indexerbar som en lista men uppbackad av ett sammanhängande minnesblock som är åtkomligt via buffertprotokollet.

Typkoder som stöds

Det enteckens typecode-argumentet väljer elementtypen:

Typkod

C-typ

Byte

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 eller 4

int

'I'

unsigned int

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

Koderna 'f' och 'd' kräver fast programvara byggd med stöd för flyttal (standard på de flesta kort). Den exakta bredden på 'i' och 'I' följer värdsystemets C-ABI — vanligtvis 4 byte på Cortex-M-portarna.

Klasser

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

Skapa en array med element av angiven typ. Arrayens initiala innehåll ges av iterable. Om det inte anges skapas en tom array.

Utöver metoderna nedan implementerar array-objekt även buffertprotokollet. Detta innebär att innehållet i hela arrayen kan nås som råa byte via en memoryview eller andra gränssnitt som använder detta protokoll.

append(val: Any) None

Lägg till det nya elementet val i slutet av arrayen och låt den växa.

extend(iterable: Iterable) None

Lägg till de nya elementen i iterable i slutet av arrayen och låt den växa.

__getitem__(index: int | slice) Any

Indexerad läsning av arrayen, anropad som a[index] (där a är en array). Returnerar ett värde om index är en int och en array om index är ett slice. Negativa index räknas från slutet och IndexError väcks om indexet är utanför intervallet.

Obs: __getitem__ kan inte anropas direkt (a.__getitem__(index) misslyckas) och finns inte i __dict__, men a[index] fungerar.

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

Indexerad skrivning till arrayen, anropad som a[index] = value (där a är en array). value är ett enskilt värde om index är en int och en array om index är ett slice. Negativa index räknas från slutet och IndexError väcks om indexet är utanför intervallet.

Obs: __setitem__ kan inte anropas direkt (a.__setitem__(index, value) misslyckas) och finns inte i __dict__, men a[index] = value fungerar.

__len__() int

Returnerar antalet element i arrayen, anropad som len(a) (där a är en array).

Obs: __len__ kan inte anropas direkt (a.__len__() misslyckas) och metoden finns inte i __dict__, men len(a) fungerar.

__add__(other: array) array

Returnera en ny array som är sammanslagningen av arrayen med other, anropad som a + other (där a och other båda är arrays).

Obs: __add__ kan inte anropas direkt (a.__add__(other) misslyckas) och finns inte i __dict__, men a + other fungerar.

__iadd__(other: array) array

Sammanfogar arrayen med other på plats, anropad som a += other (där a och other båda är arrays). Motsvarar extend(other).

Obs: __iadd__ kan inte anropas direkt (a.__iadd__(other) misslyckas) och finns inte i __dict__, men a += other fungerar.

__repr__() str

Returnerar strängrepresentationen av arrayen, anropad som str(a) eller repr(a) (där a är en array). Returnerar strängen "array(<type>, [<elements>])", där <type> är typkodsbokstaven för arrayen och <elements> är en kommaseparerad lista över arrayens element.

Obs: __repr__ kan inte anropas direkt (a.__repr__() misslyckas) och finns inte i __dict__, men str(a) och repr(a) fungerar båda.