Tableaux Python : Création, Manipulation et Opérations Avancées – Guide Expert
Qu'est-ce qu'un tableau Python ?
Un tableau Python est une collection homogène d'éléments stockés en mémoire contiguë, offrant un stockage efficace et des opérations numériques plus rapides comparé aux listes. Le module intégré array gère la création et la manipulation des tableaux.
Quand utiliser les tableaux Python
Les tableaux Python sont idéaux quand vous devez stocker de nombreuses valeurs du même type et effectuer des calculs numériques. Ils consomment moins de mémoire et offrent un accès plus rapide que les listes, surtout pour de grands ensembles de données.
Syntaxe pour créer un tableau
Importez le module array et appelez array.array(typecode, initialiseur) :
import array
mon_tableau = array.array('i', [1, 2, 3])
Codes de type des tableaux
| Code de type | Type Python | Type C | Taille min (octets) |
|---|---|---|---|
| 'u' | Caractère Unicode | Py_UNICODE | 2 |
| 'b' | Int | Signed char | 1 |
| 'B' | Int | Unsigned char | 1 |
| 'h' | Int | Signed short | 2 |
| 'l' | Int | Signed long | 4 |
| 'L' | Int | Unsigned long | 4 |
| 'q' | Int | Signed long long | 8 |
| 'Q' | Int | Unsigned long long | 8 |
| 'H' | Int | Unsigned short | 2 |
| 'f' | Float | Float | 4 |
| 'd' | Float | Double | 8 |
| 'i' | Int | Signed int | 2 |
| 'I' | Int | Unsigned int | 2 |
Accéder aux éléments
Les éléments sont accessibles par index de base zéro :
import array
solde = array.array('i', [300, 200, 100])
print(solde[1]) # 200
Vous pouvez aussi utiliser des indices négatifs ou le slicing :
import array
arr = array.array('q', [3, 9, 6, 5, 20, 13, 19, 22, 30, 25])
print(arr[1:4]) # array('q', [9, 6, 5])
print(arr[7:10]) # array('q', [22, 30, 25])
Insérer des éléments
Insérez une valeur à une position spécifique avec insert(index, valeur) :
import array
solde = array.array('i', [300, 200, 100])
solde.insert(2, 150)
print(solde) # array('i', [300, 200, 150, 100])
Modifier des éléments
Les tableaux sont mutables ; assignez une nouvelle valeur directement :
import array
arr = array.array('b', [3, 6, 4, 8, 10])
arr[0] = 99
print(arr) # array('b', [99, 6, 4, 8, 10])
La concaténation est aussi supportée :
import array
premier = array.array('b', [4, 6, 8])
second = array.array('b', [9, 12, 15])
combiné = premier + second
print(combiné) # array('b', [4, 6, 8, 9, 12, 15])
Supprimer des éléments
Pop supprime un élément par index :
import array
arr = array.array('b', [20, 25, 30])
arr.pop(2)
print(arr) # array('b', [20, 25])
Del supprime un élément par position :
import array
arr = array.array('b', [10, 4, 5, 5, 7])
del arr[4]
print(arr) # array('b', [10, 4, 5, 5])
Remove supprime la première occurrence d'une valeur :
import array
arr = array.array('b', [2, 3, 4])
arr.remove(3)
print(arr) # array('b', [2, 4])
Recherche et indexation
Trouvez l'index d'une valeur avec index(valeur) :
import array
arr = array.array('b', [2, 3, 4, 5, 6])
print(arr.index(3)) # 1
Inverser un tableau
Inversez sur place :
import array
arr = array.array('b', [1, 2, 3])
arr.reverse()
print(arr) # array('b', [3, 2, 1])
Conversion en Unicode
Seuls les tableaux de type 'u' supportent tounicode() :
from array import array
p = array('u', [u'\u0050', u'\u0059', u'\u0054', u'\u0048', u'\u004F', u'\u004E'])
print(p) # array('u', 'PYTHON')
print(p.tounicode()) # PYTHON
Compter les éléments
Comptez les occurrences avec count(x) :
import array
arr = array.array('b', [2, 3, 5, 4, 3, 3, 3])
print(arr.count(3)) # 4
Parcourir un tableau
Itérez avec une boucle for :
import array
arr = array.array('i', [300, 200, 100])
for x in arr:
print(x)
Résumé
- Un tableau Python contient des éléments d'un seul type, défini par un code de type.
- Les tableaux sont créés via le module
arrayet sont plus efficaces en mémoire que les listes. - Utilisez l'indexation, le slicing et les méthodes intégrées (
insert,remove,pop,reverse) pour manipuler les données. - Les tableaux supportent la concaténation, le comptage et la recherche.
- Seuls les tableaux
'u'peuvent être convertis en chaînes Unicode.
Python
- Les tableaux en C++ : Déclaration, initialisation et techniques avec pointeurs
- Maîtriser str.count() de Python : Compter caractères et sous-chaînes avec exemples
- Maîtriser les chaînes format() en Python avec exemples clairs
- Maîtriser la méthode String.find() de Python : Syntaxe, Exemples et Alternatives
- Maîtriser les fonctions lambda Python : exemples pratiques et bonnes pratiques
- Fonction Python round() expliquée avec exemples pratiques
- Maîtriser la fonction Python map() : syntaxe, exemples et bonnes pratiques
- Python timeit() : mesurer le temps d'exécution avec exemples pratiques
- Comprendre type() et isinstance() en Python : exemples pratiques