Listes et Dictionnaires en Python : Quand Utiliser l’Un ou l’Autre

Découvrez comment fonctionnent les listes et les dictionnaires en Python, leurs opérations de base et comment choisir la bonne structure de données.

Partager sur Linkedin Partager sur WhatsApp

Temps de lecture estimé : 7 minutes

Image de l'article Listes et Dictionnaires en Python : Quand Utiliser l’Un ou l’Autre

Dès que l’on écrit ses premiers programmes en Python, on a besoin de stocker plusieurs valeurs : une série de notes, les produits d’un panier, les informations d’un utilisateur. Python propose pour cela deux structures de données incontournables : les listes et les dictionnaires. Comprendre leurs différences permet d’écrire un code plus clair et plus efficace. Voyons-les pas à pas.

Les listes : des valeurs rangées dans l’ordre

Une liste est une collection ordonnée et modifiable d’éléments, écrite entre crochets. Chaque élément possède une position, appelée indice, qui commence à 0.

fruits = ["pomme", "banane", "cerise"]
print(fruits[0])    # pomme
print(fruits[-1])   # cerise (dernier élément)

Une liste peut contenir des valeurs de types différents, et elle peut changer après sa création. Voici les opérations les plus courantes :

OpérationCodeEffet
Ajouter à la finfruits.append(“kiwi”)Ajoute « kiwi »
Insérer à une positionfruits.insert(1, “poire”)Insère « poire » à l’indice 1
Supprimer une valeurfruits.remove(“banane”)Retire la première « banane »
Retirer le dernierfruits.pop()Retire et renvoie le dernier élément
Taillelen(fruits)Nombre d’éléments
Trierfruits.sort()Trie la liste en place

Parcourir une liste

La boucle for est l’outil naturel pour traiter chaque élément :

for fruit in fruits:
    print("J'aime la", fruit)

On peut aussi extraire une partie de la liste grâce aux tranches (slices) : fruits[0:2] renvoie les éléments d’indice 0 et 1.

Les dictionnaires : des valeurs retrouvées par leur clé

Un dictionnaire stocke des paires clé : valeur, entre accolades. Au lieu de retrouver un élément par sa position, on le retrouve par son nom, ce qui rend le code beaucoup plus lisible quand les données décrivent quelque chose.

personne = {"nom": "Léa", "age": 28, "ville": "Lyon"}
print(personne["nom"])      # Léa
personne["age"] = 29         # modification
personne["metier"] = "dev"   # ajout d'une clé

Les clés doivent être uniques et de type non modifiable (chaînes, nombres, tuples). Si vous demandez une clé inexistante avec les crochets, Python lève une erreur KeyError. La méthode get est plus prudente :

print(personne.get("email", "non renseigné"))

Parcourir un dictionnaire

for cle, valeur in personne.items():
    print(cle, ":", valeur)

Les méthodes keys(), values() et items() donnent respectivement les clés, les valeurs et les paires.

Liste ou dictionnaire : comment choisir ?

CritèreListeDictionnaire
AccèsPar position (indice)Par clé
OrdreOrdonnée par positionConserve l’ordre d’insertion
DoublonsAutorisésClés uniques
Usage typiqueSérie de valeurs similairesDonnées décrivant un objet

Une règle simple : si vous avez une série de choses du même genre (une liste de prénoms, de prix, de fichiers), utilisez une liste. Si vous avez une fiche d’informations nommées (un utilisateur, un produit, un réglage), utilisez un dictionnaire. Et lorsque vous devez retrouver rapidement une valeur à partir d’un identifiant, le dictionnaire est généralement bien plus pratique qu’une recherche dans une liste.

Listes en compréhension : une écriture plus courte

Python propose une syntaxe élégante pour construire une liste à partir d’une autre, appelée compréhension de liste. Au lieu d’écrire une boucle de plusieurs lignes, on décrit le résultat souhaité en une seule : carres = [n * n for n in range(1, 6)] produit la liste 1, 4, 9, 16, 25. On peut aussi ajouter une condition pour filtrer les éléments : pairs = [n for n in range(10) if n % 2 == 0]. Cette écriture est très appréciée des développeurs, à condition de rester lisible : si l’expression devient trop longue, une boucle classique reste le meilleur choix.

Un mot sur les tuples et les ensembles

Python connaît d’autres structures proches. Le tuple, écrit entre parenthèses, ressemble à une liste mais ne peut pas être modifié après sa création : c’est pratique pour des valeurs qui ne doivent pas changer, comme des coordonnées. L’ensemble (set), écrit entre accolades sans clés, ne garde que des valeurs uniques et sert par exemple à supprimer les doublons d’une liste. Les connaître vous aidera à choisir l’outil adapté, mais les listes et les dictionnaires restent les deux structures que vous utiliserez le plus souvent.

Les combiner

Dans les vrais programmes, on associe souvent les deux. Une liste de dictionnaires représente par exemple plusieurs personnes ayant chacune plusieurs champs :

equipe = [
    {"nom": "Léa", "age": 28},
    {"nom": "Karim", "age": 34},
]
for membre in equipe:
    print(membre["nom"], membre["age"])

Ce format est très proche du JSON, utilisé partout pour échanger des données entre applications web, ce qui explique l’importance de ces deux structures.

Erreurs fréquentes des débutants

  • Oublier que l’indice commence à 0 : une liste de 3 éléments a pour indices 0, 1 et 2.
  • Dépasser les limites : accéder à fruits[3] dans une liste de 3 éléments provoque une IndexError.
  • Modifier une liste pendant qu’on la parcourt : cela peut sauter des éléments ; préférez créer une nouvelle liste.
  • Confondre copie et référence : b = a ne copie pas la liste, les deux noms désignent le même objet ; utilisez a.copy().
  • Utiliser une clé qui n’existe pas : vérifiez avec in ou utilisez get.

Conclusion

Les listes et les dictionnaires sont les deux piliers de la manipulation de données en Python. Plus vous les pratiquez, plus vous saurez choisir instinctivement la bonne structure pour chaque situation. Pour approfondir la programmation et progresser pas à pas, vous pouvez explorer les cours d’informatique et de programmation proposés sur Cursa.

Flexbox ou CSS Grid : Quand Utiliser l’Un ou l’Autre

Flexbox gère une dimension, Grid en gère deux. Comprenez la différence, les propriétés clés et comment combiner les deux dans un vrai projet.

RECHERCHEV et RECHERCHEX : Retrouver une Donnée dans un Tableau Excel

Apprenez à utiliser RECHERCHEV et RECHERCHEX dans Excel : syntaxe, différences, erreurs fréquentes et astuces pour des recherches fiables.

Comment un Modèle de Langage Génère du Texte : Tokens, Probabilités et Contexte

Découvrez comment fonctionne un modèle de langage : découpage en tokens, prédiction du mot suivant, fenêtre de contexte, hallucinations et bonnes pratiques.

Mémoire Virtuelle et Fichier d’Échange : Ce Qui Se Passe Quand la RAM Est Pleine

Comment un système d’exploitation fait tenir plus de programmes que la RAM ne peut en contenir, et pourquoi la machine ralentit.

Qu’est-ce qu’une API REST ? Le langage commun des applications

Comprendre les API REST : ressources, méthodes HTTP, codes de statut et bonnes pratiques, expliqués simplement.

Clés Primaires et Clés Étrangères : Comprendre les Relations entre Tables

Clé primaire, clé étrangère, intégrité référentielle : les notions de base pour organiser correctement une base de données relationnelle.

Git et le Contrôle de Version : Comprendre les Bases

Découvrez à quoi sert un système de contrôle de version, les commandes essentielles de Git et les bonnes pratiques pour travailler en équipe.

Qu’est-ce que le phishing et comment s’en protéger ?

Découvrez ce qu’est le phishing, comment reconnaître ces tentatives d’arnaque en ligne et quels réflexes adopter pour protéger vos données.