Structures de données en Python : listes, tuples, dictionnaires, tableaux

Python - Structures de données et parcours de tableauNiveau : intermediate16 novembre 2025
Practicar con esta ficha
Crea tus flashcards, tus cuestionarios, tu examen de prueba

Funciones avanzadas disponibles en la aplicación

  • Imágenes
  • Fórmulas matemáticas
  • Diagramas con renderizado profesional y académico en la app
Comenzar gratis

Fiche de Révision : Structures de données en Python

Sujet : Listes, Tuples, Dictionnaires, Tableaux
Niveau : Intermédiaire


Introduction

Les structures de données sont fondamentales en programmation pour organiser, stocker et manipuler efficacement les données. Python propose plusieurs structures intégrées, chacune avec des caractéristiques et usages spécifiques. Cette fiche traite des listes, tuples, dictionnaires et tableaux (arrays), en détaillant leurs propriétés, différences, méthodes principales, et cas d'utilisation.


1. Listes (List)

1.1 Définition

Une liste est une structure de données ordonnée, mutable et hétérogène (peut contenir différents types d'éléments).

ma_liste = [1, "Python", 3.14, True]

1.2 Caractéristiques

  • Indexées : Chaque élément a un index, commençant à 0.
  • Modifiables : On peut ajouter, modifier ou supprimer des éléments.
  • Hétérogènes : Contiennent des éléments de types différents.
  • Dynamiques : Taille modifiable à l'exécution.

1.3 Opérations courantes

OpérationSyntaxe / ExempleDescription
Accèsma_liste[0]Premier élément
Modificationma_liste[1] = "Java"Modifier un élément
Ajoutma_liste.append(42)Ajouter à la fin
Insertionma_liste.insert(2, "inséré")Insérer à l’indice donné
Suppressionma_liste.remove("Python")Supprime la première occurrence
Suppression par indexdel ma_liste[0]Supprime l’élément à l’index
Parcoursfor elem in ma_liste:Itération

1.4 Exemples

fruits = ["pomme", "banane", "cerise"]
fruits.append("orange")  # ['pomme', 'banane', 'cerise', 'orange']
fruits[1] = "kiwi"       # ['pomme', 'kiwi', 'cerise', 'orange']
del fruits[0]            # ['kiwi', 'cerise', 'orange']

2. Tuples

2.1 Définition

Un tuple est une structure ordonnée et immuable (non modifiable), souvent utilisée pour stocker des données hétérogènes.

mon_tuple = (1, "Python", 3.14)

2.2 Caractéristiques

  • Ordonnés : Les éléments ont un ordre fixé.
  • Immuables : Une fois créé, on ne peut ni ajouter, ni modifier, ni supprimer d’éléments.
  • Hétérogènes : Peut contenir plusieurs types de données.
  • Plus rapide que les listes en lecture (car immuables).

2.3 Utilisations typiques

  • Stocker des valeurs fixes.
  • Retourner plusieurs valeurs dans une fonction.
  • Utiliser comme clé dans un dictionnaire (car immuable).

2.4 Opérations principales

OpérationExempleDescription
Accèsmon_tuple[1]Accéder à l’élément
Déballagea, b, c = mon_tupleExtraction des éléments
Longueurlen(mon_tuple)Nombre d’éléments
Concaténationt1 + t2Créer un nouveau tuple

2.5 Exemples

coordonnees = (10.0, 20.5)
x, y = coordonnees  # déballage
print(x)  # 10.0
# coordonnees[0] = 15.0  # Erreur : tuple immuable

3. Dictionnaires (Dict)

3.1 Définition

Un dictionnaire est une structure non ordonnée (depuis Python 3.7 l’ordre d’insertion est conservé), mutable, qui stocke des paires clé-valeur.

mon_dict = {"nom": "Alice", "age": 25}

3.2 Caractéristiques

  • Clés uniques : Chaque clé doit être unique.
  • Clés immuables : Les clés doivent être de types immuables (string, int, tuple, etc.).
  • Valeurs : Peuvent être de n’importe quel type.
  • Accès rapide aux valeurs via les clés (hashage).

3.3 Opérations courantes

OpérationSyntaxe / ExempleDescription
Accèsmon_dict["nom"]Récupérer la valeur par clé
Ajout / Modificationmon_dict["age"] = 30Ajouter ou modifier une paire
Suppressiondel mon_dict["nom"]Supprimer une paire
Parcours clésfor key in mon_dict:Itérer sur les clés
Parcours valeursfor val in mon_dict.values():Itérer sur les valeurs
Parcours itemsfor k, v in mon_dict.items():Itérer sur paires clé-valeur

3.4 Méthodes utiles

  • get(key, default) : évite l’erreur si la clé n’existe pas.
  • keys(), values(), items() : vues sur les clés, valeurs ou paires.
  • update() : fusionner un autre dictionnaire.

3.5 Exemples

etudiant = {"nom": "Bob", "notes": [15, 18, 14]}
print(etudiant.get("age", "Non défini"))  # Non défini
etudiant["age"] = 20
for matière, note in etudiant.items():
    print(f"{matière} : {note}")

4. Tableaux (Arrays)

4.1 Définition

Un tableau est une structure de données qui stocke des éléments du même type de façon contiguë en mémoire. En Python, on utilise généralement :

  • Le module array (standard, limité)
  • La bibliothèque numpy (plus puissante pour calcul scientifique)

4.2 Différences entre listes et tableaux

CritèreListesTableaux
TypesHétérogènesHomogènes (ex: tous int)
PerformancesPlus flexibles mais plus lourdesPlus rapides et compacts
FonctionsMultiples méthodes intégréesOpérations mathématiques optimisées

4.3 Module array

import array
arr = array.array('i', [1, 2, 3, 4])  # 'i' pour int
arr.append(5)
print(arr[2])  # 3
  • Le premier argument est un code de type (ex: 'i' entier, 'f' float).
  • Méthodes similaires aux listes, mais plus limitées.

4.4 Bibliothèque numpy

  • Offre des tableaux multidimensionnels (ndarray).
  • Supporte des opérations vectorielles rapides.
  • Très utilisée en science des données, machine learning, calcul numérique.
import numpy as np
a = np.array([1, 2, 3, 4])
print(a * 2)  # [2 4 6 8]

4.5 Exemples de base numpy

import numpy as np

matrice = np.array([[1, 2], [3, 4]])
print(matrice.shape)  # (2, 2)
print(matrice[0, 1])  # 2

# Opération matricielle
print(matrice + 10)  # [[11, 12], [13, 14]]

5. Comparaison et choix des structures

StructureMutableHétérogèneOrdonnéUtilisation typique
ListeOuiOuiOuiCollection dynamique, modification fréquente
TupleNonOuiOuiDonnées fixes, clés de dictionnaire
DictionnaireOuiOui(depuis 3.7 oui)Association clé-valeur, recherche rapide
TableauOuiNonOuiDonnées numériques homogènes, calculs optimisés

6. Diagramme Mermaid : Relations entre structures

[Diagramme]


7. Cas pratiques d’utilisation

7.1 Listes

  • Gérer une collection d’objets modifiable, ex : liste de tâches.
  • Construction d’une pile/queue.

7.2 Tuples

  • Stocker des coordonnées (x, y).
  • Retourner plusieurs valeurs d’une fonction.

7.3 Dictionnaires

  • Stocker des données associatives, ex : fiche utilisateur.
  • Compter la fréquence d’éléments (ex : histogramme).

7.4 Tableaux (numpy)

  • Manipulation de grandes matrices ou vecteurs.
  • Calculs scientifiques, statistiques, machine learning.

8. Exemples avancés

8.1 Tuple comme clé de dictionnaire

coord_dict = {}
coord_dict[(0, 0)] = "Origine"
coord_dict[(1, 2)] = "Point A"
print(coord_dict[(1, 2)])  # Point A

8.2 Liste de dictionnaires

personnes = [
    {"nom": "Alice", "age": 30},
    {"nom": "Bob", "age": 25}
]
for p in personnes:
    print(p["nom"], p["age"])

8.3 Utilisation de numpy pour calcul vectoriel

import numpy as np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
dot_product = np.dot(a, b)  # produit scalaire
print(dot_product)  # 32

9. Résumé des méthodes courantes

StructureMéthodes clés
Listesappend(), insert(), remove(), pop(), sort(), reverse()
TuplesPeu de méthodes (immutables) : count(), index()
Dictionnairesget(), keys(), values(), items(), update(), pop()
Arrays (array)append(), extend(), pop(), buffer_info()
NumPyOpérations vectorielles, reshape(), dot(), sum(), mean(), etc.

10. Codes à trous

10.1 Listes

fruits = ["pomme", "banane", "cerise"]
fruits.______("orange")  # Ajouter 'orange' à la liste
fruits[__] = "kiwi"      # Modifier le deuxième élément
del fruits[__]            # Supprimer le premier élément

10.2 Tuples

coordinates = (10.0, 20.5)
a, b = _____      # Déballage du tuple
print(a)          # Affiche la première coordonnée
# coordinates[0] = 15.0  # La modification est impossible, comment faire une nouvelle copie modifiée ?
coordinates_modifiee = _____

10.3 Dictionnaires

student = {"nom": "Anne", "notes": [12, 15, 14]}
student["age"] =____  # Ajouter la clé 'age' avec la valeur 22
print(student.get("moyenne", __))  # Calculer la moyenne si la clé 'moyenne' n'existe pas

10.4 Tableaux avec array

import array
arr = array.array('i', [1, 2, 3])
arr.______(4)   # Ajouter un élément
print(arr[__])   # Afficher le troisième élément
arr.______(0)   # Supprimer le premier élément

Citation importante

« Choisir la bonne structure de données est souvent la clé pour écrire un code clair, efficace et maintenable. En Python, la richesse des structures intégrées facilite cette tâche, mais il est essentiel de bien comprendre leurs propriétés et limites. »


Conclusion

Cette fiche a présenté les principales structures de données en Python : listes, tuples, dictionnaires et tableaux. Chacune a ses spécificités, avantages et contraintes. La maîtrise de ces structures est primordiale pour écrire du code performant et adapté à vos besoins.


Annexes : références utiles


Fin de la fiche

Agent CTA Background

Transforma tu forma de aprender

Comenzar ahoraÚnete a miles de estudiantes que ya han transformado su aprendizaje