# Les tableaux en Python

Les tableaux sont une structure de données à l’instar des listes qui permettent de mémoriser et de manipuler un ensemble de valeurs.

Listes vs tableaux

La différence principale est le type d’élément stocké dans chaque structure. Un tableau stockera le même type d’élément, tandis qu’une liste peut stocker différents types d’éléments. En général, les listes sont plus couramment utilisées car elles sont plus polyvalentes et peuvent stocker différents types d’éléments. Les tableaux du python sont proches du langage C et sont efficaces en matière d’espace mémoire : ce sont des tableaux de taille fixe, alors que les listes sont de taille dynamique. En effet, pour garantir une performance sur les opérations d’insertion et de suppression d’éléments, les listes allouent une quantité de mémoire supérieure à leur besoin initial. Au contraire, les tableaux ont une taille fixe et allouent une quantité de mémoire limitée dès leur création.

Utilisation

Pour utiliser les tableaux en Python, il faut importer le module array.

import array

Pour créer un tableau, utilisez la méthode array.array(). Cette méthode prend deux arguments principaux :

Le premier argument est le type de données que le tableau contiendra. Le deuxième argument est une liste ou un tuple contenant les éléments initiaux du tableau. Voici un exemple de création d’un tableau contenant des entiers :

import array

tableau_entiers = array.array('i', [1, 2, 3, 4, 5])
print(tableau_entiers)

Ci-dessous les types de données possibles en fonction du premier argument.

Type de donnée argument
char signé 'b'
char non signé 'B'
Py_UNICODE 'u'
short signé 'h'
short non signé 'H'
int signé 'i'
int non signé 'I'
long signé 'l'
long non signé 'L'
float 'f'
double 'd'

Manipuler les tableaux

Taille d’un tableau

En Python, la longueur d’un tableau est obtenue via la fonction len(). Voici un exemple:

tableau_entiers = array.array('i', [1, 2, 3, 4, 5])
longueur_tableau = len(tableau_entiers)
print(longueur_tableau) # Résultat: 5

Méthodes utilitaires

Les tableaux en Python offrent des méthodes similaires à celles des listes pour manipuler les éléments. Voici quelques exemples de méthodes couramment utilisées :

append: Ajouter un élément à la fin du tableau
insert: Insérer un élément à une position spécifique
extend: Ajouter plusieurs éléments à la fin du tableau
pop: Supprimer et retourner un élément à une position spécifique
remove: Supprimer un élément par sa valeur
index: Trouver l’index du premier élément correspondant à une valeur
count: Compter le nombre d’occurrences d’une valeur
reverse: Inverser l’ordre des éléments du tableau

Voici un exemple qui montre comment utiliser certaines de ces méthodes :

import array

tableau_entiers = array.array('i', [1, 2, 3, 4, 5])

tableau_entiers.append(6)
print(tableau_entiers) # La valeur 6 a été ajoutée à la fin du tableau, valeur actuelle: [1, 2, 3, 4, 5, 6]

tableau_entiers.insert(0, 0)
print(tableau_entiers) # La valeur 0 a été insérée en début du tableau, valeur actuelle: [0, 1, 2, 3, 4, 5, 6]

tableau_entiers.extend([7, 8, 9])
print(tableau_entiers) # Les valeurs 7, 8 et 9 ont été ajoutées à la fin du tableau, valeur actuelle: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

tableau_entiers.pop(3)
print(tableau_entiers) # L'élément à l'index 3 a été supprimé, valeur actuelle: [0, 1, 2, 4, 5, 6, 7, 8, 9]

tableau_entiers.remove(2)
print(tableau_entiers) # La première occurrence de la valeur 2 a été supprimée, valeur actuelle: [0, 1, 4, 5, 6, 7, 8, 9]

print(tableau_entiers.index(4)) # 2
print(tableau_entiers.count(6)) # 1
tableau_entiers.reverse()
print(tableau_entiers) # L'ordre des éléments du tableau est inversé, valeur actuelle:  [9, 8, 7, 6, 5, 4, 1, 0]

Bien que l’on ait vu en détail le fonctionnement des tableaux, il faut admettre que dans la majorité des cas d’utilisation la liste reste le choix préférentiel en Python. Utilisez le module array uniquement si vous en avez vraiment besoin.