array — tableaux de données numériques

Ce module définit le type array.array : une séquence économe en espace de valeurs d’un seul type numérique fixe, indexable comme une liste mais soutenue par un bloc de mémoire contigu accessible via le protocole tampon.

Codes de type pris en charge

L’argument typecode à un seul caractère sélectionne le type d’élément :

Code de type

Type C

Octets

Type Python

'b'

signed char

1

int

'B'

unsigned char

1

int

'h'

signed short

2

int

'H'

unsigned short

2

int

'i'

signed int

2 ou 4

int

'I'

unsigned int

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

Les codes 'f' et 'd' nécessitent un micrologiciel compilé avec la prise en charge de la virgule flottante (par défaut sur la plupart des cartes). La largeur exacte de 'i' et 'I' suit l’ABI C de l’hôte — typiquement 4 octets sur les ports Cortex-M.

Classes

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

Crée un tableau avec des éléments du type donné. Le contenu initial du tableau est donné par iterable. S’il n’est pas fourni, un tableau vide est créé.

En plus des méthodes ci-dessous, les objets array implémentent également le protocole tampon. Cela signifie que le contenu de l’ensemble du tableau peut être accédé sous forme d’octets bruts via une memoryview ou d’autres interfaces qui utilisent ce protocole.

append(val: Any) None

Ajoute le nouvel élément val à la fin du tableau, en l’agrandissant.

extend(iterable: Iterable) None

Ajoute à la fin du tableau les nouveaux éléments contenus dans iterable, en l’agrandissant.

__getitem__(index: int | slice) Any

Lecture indexée du tableau, appelée comme a[index] (où a est un array). Renvoie une valeur si index est un int et un array si index est une tranche (slice). Les indices négatifs comptent à partir de la fin et IndexError est levée si l’indice est hors limites.

Note : __getitem__ ne peut pas être appelée directement (a.__getitem__(index) échoue) et n’est pas présente dans __dict__, cependant a[index] fonctionne bien.

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

Écriture indexée dans le tableau, appelée comme a[index] = value (où a est un array). value est une valeur unique si index est un int et un array si index est une tranche (slice). Les indices négatifs comptent à partir de la fin et IndexError est levée si l’indice est hors limites.

Note : __setitem__ ne peut pas être appelée directement (a.__setitem__(index, value) échoue) et n’est pas présente dans __dict__, cependant a[index] = value fonctionne bien.

__len__() int

Renvoie le nombre d’éléments dans le tableau, appelé comme len(a) (où a est un array).

Note : __len__ ne peut pas être appelée directement (a.__len__() échoue) et la méthode n’est pas présente dans __dict__, cependant len(a) fonctionne bien.

__add__(other: array) array

Renvoie un nouveau array qui est la concaténation du tableau avec other, appelée comme a + other (où a et other sont tous deux des arrays).

Note : __add__ ne peut pas être appelée directement (a.__add__(other) échoue) et n’est pas présente dans __dict__, cependant a + other fonctionne bien.

__iadd__(other: array) array

Concatène le tableau avec other sur place, appelée comme a += other (où a et other sont tous deux des arrays). Équivalent à extend(other).

Note : __iadd__ ne peut pas être appelée directement (a.__iadd__(other) échoue) et n’est pas présente dans __dict__, cependant a += other fonctionne bien.

__repr__() str

Renvoie la représentation sous forme de chaîne du tableau, appelée comme str(a) ou repr(a) (où a est un array). Renvoie la chaîne "array(<type>, [<elements>])", où <type> est la lettre du code de type du tableau et <elements> est une liste des éléments du tableau séparés par des virgules.

Note : __repr__ ne peut pas être appelée directement (a.__repr__() échoue) et n’est pas présente dans __dict__, cependant str(a) et repr(a) fonctionnent tous deux.