Bases

Dictionnaires en Python : guide débutant clé-valeur

Apprenez à créer, lire, modifier et parcourir des dictionnaires en Python avec des exemples simples et progressifs pour débuter.

Dictionnaires en Python : guide débutant clé-valeur

Les dictionnaires font partie des structures de données les plus utiles en Python. Ils permettent d’associer une clé à une valeur. Au lieu de chercher une information par position, comme dans une liste, on la retrouve grâce à un nom, un identifiant ou une autre clé unique.

Quand on débute en Python, on rencontre vite des cas où les dictionnaires sont plus naturels qu’une liste. Par exemple, représenter une personne avec son nom, son âge et sa ville, stocker des notes par matière, mémoriser un prix par produit, ou encore compter des occurrences.

Dans ce tutoriel, vous allez apprendre pas à pas à créer un dictionnaire, accéder aux valeurs, modifier son contenu et parcourir des paires clé-valeur. Chaque partie s’appuie sur des exemples simples, adaptés à un niveau débutant. L’objectif est de comprendre la logique des dictionnaires et de savoir les utiliser dans vos propres scripts Python.

Prérequis

  • Savoir lancer un script Python ou utiliser l’interpréteur interactif.
  • Connaître les variables, les chaînes de caractères, les nombres et les listes.
  • Avoir vu les bases de print(), des conditions et des boucles for.

Matériel nécessaire

  • Python 3 installé sur votre ordinateur
  • Un éditeur de texte ou un IDE simple
  • Un terminal ou une console Python

Étapes

  1. Comprendre ce qu’est un dictionnaire en Python

    Gros plan sur un ordinateur portable affichant dans un éditeur Python un dictionnaire vide et un dictionnaire contenant quelques paires clé-valeur.
    Écran d’ordinateur montrant du code Python où une nouvelle paire clé-valeur est ajoutée à un dictionnaire existant.

    Un dictionnaire est une structure qui relie des clés à des valeurs. On parle souvent de paires clé-valeur. Chaque clé sert d’étiquette pour retrouver la valeur associée.

    Voici une image mentale simple :

    • la clé est le nom du tiroir ;
    • la valeur est ce qu’il y a dans le tiroir.

    Exemple :

    python
    personne = {
        "nom": "Lina",
        "age": 28,
        "ville": "Lyon"
    }

    Dans ce dictionnaire :

    • "nom" est une clé, associée à la valeur "Lina" ;
    • "age" est une clé, associée à la valeur 28 ;
    • "ville" est une clé, associée à la valeur "Lyon".

    Un dictionnaire s’écrit avec des deux-points entre chaque clé et chaque valeur, et des virgules entre les paires. L’ensemble est entouré d’accolades.

    Les dictionnaires sont très pratiques quand les données ont un sens par champ. Si vous stockez une personne dans une liste comme ceci :

    python
    personne = ["Lina", 28, "Lyon"]

    il faut se souvenir que l’index 0 correspond au nom, 1 à l’âge, et 2 à la ville. Avec un dictionnaire, le code est souvent plus lisible :

    python
    personne = {
        "nom": "Lina",
        "age": 28,
        "ville": "Lyon"
    }

    On comprend immédiatement ce que représente chaque valeur.

    Autre point important pour débuter : dans un dictionnaire, on accède aux données par la clé, pas par une position. C’est cette idée qui guide toutes les opérations de base : lecture, ajout, modification, suppression et parcours.

  2. Créer un dictionnaire vide ou rempli

    Ordinateur portable affichant une boucle for en Python qui parcourt un dictionnaire et ses éléments.

    Il existe plusieurs façons simples de créer un dictionnaire.

    Créer un dictionnaire rempli

    La forme la plus courante consiste à écrire directement les paires clé-valeur :

    python
    etudiant = {
        "prenom": "Sara",
        "note": 15,
        "present": True
    }

    Ici, les valeurs ne sont pas obligatoirement toutes du même type. Un dictionnaire peut contenir :

    • des chaînes de caractères ;
    • des nombres ;
    • des booléens ;
    • des listes ;
    • d’autres dictionnaires.

    Exemple avec des valeurs variées :

    python
    produit = {
        "nom": "Clavier",
        "prix": 49.99,
        "en_stock": True,
        "couleurs": ["noir", "gris"]
    }

    Créer un dictionnaire vide

    Vous pouvez aussi commencer avec un dictionnaire vide, puis le remplir ensuite :

    python
    profil = {}

    Puis ajouter des informations :

    python
    profil["nom"] = "Amine"
    profil["age"] = 22
    profil["ville"] = "Marseille"

    À ce stade, profil contient plusieurs paires clé-valeur.

    Créer un dictionnaire sur une seule ligne

    Pour de petits exemples, on peut écrire un dictionnaire sur une seule ligne :

    python
    notes = {"math": 14, "francais": 16, "histoire": 13}

    Cela peut être pratique pour un exemple court. En revanche, dès que le dictionnaire grandit, un format sur plusieurs lignes est souvent plus lisible.

    Choisir de bonnes clés

    Au niveau débutant, le plus simple est d’utiliser des chaînes de caractères comme clés :

    python
    voiture = {
        "marque": "Renault",
        "modele": "Clio",
        "annee": 2020
    }

    Cette convention rend le code facile à comprendre.

    Essayez d’adopter des clés :

    • courtes ;
    • claires ;
    • cohérentes entre elles.

    Par exemple, évitez de mélanger "Nom", "age" et "Ville_utilisateur" dans le même objet si vous pouvez choisir un style uniforme.

  3. Accéder à une valeur à partir de sa clé

    Pour lire une valeur dans un dictionnaire, on utilise la clé entre crochets.

    python
    personne = {
        "nom": "Lina",
        "age": 28,
        "ville": "Lyon"
    }
    
    print(personne["nom"])
    print(personne["age"])

    Résultat attendu :

    python
    Lina
    28

    Le principe est simple : vous donnez la clé, Python retourne la valeur associée.

    Utiliser une valeur dans une phrase

    Vous pouvez réutiliser cette lecture dans un affichage :

    python
    print("Nom :", personne["nom"])
    print("Ville :", personne["ville"])

    On peut aussi stocker une valeur dans une variable :

    python
    age_utilisateur = personne["age"]
    print(age_utilisateur)

    Que se passe-t-il si la clé n’existe pas ?

    Si vous essayez d’accéder à une clé absente avec les crochets, Python produit une erreur.

    python
    print(personne["email"])

    Dans un apprentissage débutant, il faut surtout retenir ceci : les crochets exigent que la clé existe.

    Lire une valeur sans provoquer d’erreur avec get()

    Pour éviter ce problème, il existe une méthode très utile : get().

    python
    print(personne.get("nom"))
    print(personne.get("email"))

    Si la clé existe, get() renvoie sa valeur. Si elle n’existe pas, la méthode renvoie None par défaut.

    Vous pouvez aussi définir une valeur de remplacement :

    python
    print(personne.get("email", "Non renseigné"))

    Cette approche est très pratique quand une information peut être absente.

    Quand utiliser les crochets et quand utiliser get() ?

    • Utilisez dictionnaire["cle"] si vous êtes certain que la clé existe.
    • Utilisez dictionnaire.get("cle") si la clé peut être absente.

    Exemple concret :

    python
    contact = {
        "nom": "Nora",
        "telephone": "0102030405"
    }
    
    print(contact["nom"])
    print(contact.get("email", "Aucun email"))

    Cette distinction simple évite de nombreux problèmes dans les premiers scripts.

  4. Ajouter une nouvelle paire clé-valeur

    Ajouter une entrée dans un dictionnaire est direct : il suffit d’utiliser une nouvelle clé entre crochets et de lui affecter une valeur.

    python
    utilisateur = {
        "nom": "Yanis",
        "age": 19
    }
    
    utilisateur["ville"] = "Toulouse"
    print(utilisateur)

    Le dictionnaire contient maintenant une nouvelle clé "ville".

    Ajouter plusieurs informations progressivement

    Cette façon de faire est pratique si vous construisez un dictionnaire étape par étape :

    python
    film = {}
    film["titre"] = "Inception"
    film["annee"] = 2010
    film["vu"] = True
    
    print(film)

    Vous pouvez ainsi créer un dictionnaire vide, puis le compléter au fur et à mesure du programme.

    Exemple avec saisie utilisateur

    Dans un script débutant, on peut imaginer récupérer des données et les ranger dans un dictionnaire :

    python
    profil = {}
    profil["nom"] = "Emma"
    profil["niveau"] = "debutant"
    profil["langage"] = "Python"
    
    print(profil)

    L’idée importante est la suivante :

    • si la clé n’existe pas encore, elle est créée ;
    • si la clé existe déjà, sa valeur sera remplacée.

    Cette seconde situation mène naturellement à la modification de valeurs, vue dans l’étape suivante.

  5. Modifier la valeur associée à une clé

    Pour modifier une valeur existante, on réutilise exactement la même syntaxe qu’un ajout. La différence est que la clé existe déjà.

    python
    personne = {
        "nom": "Lina",
        "age": 28,
        "ville": "Lyon"
    }
    
    personne["age"] = 29
    print(personne)

    La clé "age" existe déjà, donc la valeur 28 est remplacée par 29.

    Modifier plusieurs champs

    python
    personne["ville"] = "Paris"
    personne["nom"] = "Lina Martin"

    Après ces affectations, les anciennes valeurs sont remplacées.

    Cas fréquent : mettre à jour un compteur

    Les dictionnaires servent souvent à compter. On lit une valeur existante, on la modifie, puis on la remet dans le dictionnaire.

    python
    scores = {
        "Alice": 10,
        "Bob": 7
    }
    
    scores["Alice"] = scores["Alice"] + 1
    print(scores)

    Ici, on récupère la valeur associée à "Alice", on ajoute 1, puis on enregistre le résultat.

    Attention à ne pas confondre ajout et modification

    Avec la syntaxe :

    python
    dico["cle"] = valeur

    il peut se passer deux choses :

    • la clé est absente : Python ajoute une nouvelle entrée ;
    • la clé est déjà présente : Python remplace l’ancienne valeur.

    Exemple :

    python
    notes = {"math": 14}
    notes["anglais"] = 16
    notes["math"] = 15
    print(notes)

    Le dictionnaire final contient toujours la clé "math", mais avec la nouvelle valeur 15, plus la nouvelle matière "anglais".

  6. Supprimer une entrée d’un dictionnaire

    Même si le cœur de ce tutoriel concerne surtout la création, l’accès, la modification et le parcours, il est très utile de connaître aussi la suppression.

    Supprimer avec del

    python
    animal = {
        "espece": "chat",
        "nom": "Milo",
        "age": 3
    }
    
    del animal["age"]
    print(animal)

    La clé "age" et sa valeur sont retirées du dictionnaire.

    Supprimer avec pop()

    La méthode pop() retire une clé et renvoie la valeur supprimée.

    python
    prix = {
        "pomme": 1.2,
        "banane": 1.5,
        "orange": 1.8
    }
    
    valeur = prix.pop("banane")
    print(valeur)
    print(prix)

    C’est pratique si vous voulez à la fois enlever une entrée et récupérer ce qu’elle contenait.

    Pourquoi c’est utile ?

    Dans un programme simple, supprimer une entrée peut servir à :

    • retirer une donnée devenue inutile ;
    • nettoyer un dictionnaire ;
    • enlever une option désactivée ;
    • retirer un produit, un utilisateur ou une note.

    Même si vous n’utilisez pas tout de suite cette opération, elle complète bien les actions de base sur un dictionnaire.

  7. Vérifier si une clé existe

    Avant de lire ou modifier certaines données, vous pouvez vouloir vérifier si une clé est présente. Pour cela, on utilise très souvent in.

    python
    personne = {
        "nom": "Lina",
        "age": 28
    }
    
    if "nom" in personne:
        print("La clé nom existe")

    Cette vérification est très utile avant un accès avec crochets.

    Exemple avec condition

    python
    if "email" in personne:
        print(personne["email"])
    else:
        print("Email absent")

    Cette forme est simple et claire pour un débutant.

    Vérifier l’absence d’une clé

    On peut aussi tester qu’une clé n’existe pas :

    python
    if "telephone" not in personne:
        print("Aucun telephone")

    Ces vérifications permettent d’écrire un code plus robuste, surtout quand toutes les données ne sont pas garanties.

  8. Parcourir un dictionnaire avec une boucle for

    Après la création et la modification, une compétence essentielle consiste à parcourir un dictionnaire. Cela signifie examiner ses clés, ses valeurs, ou les deux.

    Python propose plusieurs façons simples de le faire.

    Parcourir les clés

    Quand vous faites une boucle for directement sur un dictionnaire, Python parcourt les clés.

    python
    personne = {
        "nom": "Lina",
        "age": 28,
        "ville": "Lyon"
    }
    
    for cle in personne:
        print(cle)

    Ici, la variable cle prend successivement les différentes clés du dictionnaire.

    Lire la valeur à partir de chaque clé

    Une fois la clé obtenue, vous pouvez récupérer la valeur associée :

    python
    for cle in personne:
        print(cle, "=", personne[cle])

    C’est une première manière de parcourir des paires clé-valeur.

    Parcourir explicitement les clés avec keys()

    Vous pouvez aussi écrire :

    python
    for cle in personne.keys():
        print(cle)

    Pour un débutant, retenez surtout que :

    • for cle in dictionnaire: parcourt les clés ;
    • for cle in dictionnaire.keys(): revient à exprimer explicitement cette intention.

    Dans beaucoup de cas simples, les deux formes conviennent.

  9. Parcourir les valeurs et les paires clé-valeur

    Il est souvent utile de parcourir non seulement les clés, mais aussi les valeurs, ou les deux en même temps.

    Parcourir les valeurs avec values()

    python
    notes = {
        "math": 14,
        "francais": 16,
        "histoire": 13
    }
    
    for valeur in notes.values():
        print(valeur)

    La boucle affiche uniquement les valeurs du dictionnaire.

    Parcourir les clés et les valeurs avec items()

    La méthode la plus pratique pour lire chaque paire clé-valeur est items().

    python
    for cle, valeur in notes.items():
        print(cle, "=", valeur)

    Ici :

    • cle reçoit la clé ;
    • valeur reçoit la valeur associée.

    C’est souvent la forme la plus claire pour afficher ou traiter tout le contenu d’un dictionnaire.

    Exemple concret : afficher une fiche utilisateur

    python
    profil = {
        "nom": "Emma",
        "age": 24,
        "ville": "Lille"
    }
    
    for cle, valeur in profil.items():
        print(cle, ":", valeur)

    Ce parcours produit un affichage structuré du contenu.

    Choisir la bonne méthode

    • Utilisez keys() si vous avez besoin des clés.
    • Utilisez values() si vous avez besoin des valeurs.
    • Utilisez items() si vous avez besoin des deux.

    Au quotidien, items() est très fréquent, car il évite de relire la valeur à partir de la clé.

  10. Manipuler des dictionnaires dans des cas simples du quotidien

    Pour bien comprendre les dictionnaires, rien ne vaut des petits cas concrets.

    Exemple 1 : stocker les informations d’un livre

    python
    livre = {
        "titre": "Le Petit Prince",
        "auteur": "Antoine de Saint-Exupery",
        "annee": 1943
    }
    
    print(livre["titre"])
    livre["annee"] = 1944
    livre["genre"] = "Conte"
    
    for cle, valeur in livre.items():
        print(cle, valeur)

    Dans cet exemple, vous utilisez plusieurs opérations de base :

    • lecture d’une valeur ;
    • modification d’une entrée ;
    • ajout d’une nouvelle clé ;
    • parcours du dictionnaire.

    Exemple 2 : notes d’un élève

    python
    notes = {
        "math": 12,
        "anglais": 15,
        "svt": 14
    }
    
    print("Note de math :", notes["math"])
    notes["math"] = 13
    notes["histoire"] = 16
    
    for matiere, note in notes.items():
        print(matiere, ":", note)

    Ce type de structure est très naturel : la matière joue le rôle de clé, et la note celui de valeur.

    Exemple 3 : petit inventaire

    python
    stock = {
        "pommes": 10,
        "bananes": 6,
        "oranges": 8
    }
    
    stock["pommes"] = stock["pommes"] - 2
    stock["poires"] = 5
    
    if "bananes" in stock:
        print("Bananes disponibles")
    
    for produit, quantite in stock.items():
        print(produit, quantite)

    Ici, le dictionnaire permet de suivre des quantités par produit.

    Exemple 4 : contact simple

    python
    contact = {
        "nom": "Nora",
        "telephone": "0102030405"
    }
    
    print(contact.get("email", "Email non renseigne"))
    contact["email"] = "[email protected]"
    
    for cle, valeur in contact.items():
        print(cle, valeur)

    Ce dernier exemple montre bien l’intérêt de get() lorsqu’une information n’est pas toujours présente.

  11. Différence entre dictionnaire et liste pour un débutant

    Beaucoup de débutants hésitent entre liste et dictionnaire. La différence centrale est la suivante :

    • une liste stocke des éléments dans un ordre, accessibles par position ;
    • un dictionnaire stocke des valeurs associées à des clés.

    Exemple avec une liste

    python
    personne_liste = ["Lina", 28, "Lyon"]
    print(personne_liste[0])

    Ici, il faut savoir que la position 0 correspond au nom.

    Exemple avec un dictionnaire

    python
    personne_dico = {
        "nom": "Lina",
        "age": 28,
        "ville": "Lyon"
    }
    
    print(personne_dico["nom"])

    Le code est souvent plus explicite, car la clé indique la signification de la donnée.

    Quand choisir un dictionnaire ?

    Un dictionnaire est généralement approprié quand :

    • chaque valeur possède une étiquette claire ;
    • vous voulez accéder à une donnée par son nom ;
    • les informations représentent des propriétés d’un objet ou d’un élément.

    Par exemple :

    • nom, âge, ville d’une personne ;
    • produit et prix ;
    • matière et note ;
    • clé de configuration et valeur associée.

    Cette comparaison aide à mieux comprendre la place des dictionnaires parmi les structures de base de Python.

  12. Mini-exercice guidé : construire et parcourir un dictionnaire

    Terminons par un exercice simple qui réunit les opérations essentielles.

    Objectif

    Créer un dictionnaire représentant un jeu vidéo, afficher certaines informations, en modifier une, en ajouter une nouvelle, puis parcourir tout le contenu.

    Étape 1 : créer le dictionnaire

    python
    jeu = {
        "titre": "Minecraft",
        "annee": 2011,
        "genre": "Sandbox"
    }

    Étape 2 : accéder à des valeurs

    python
    print(jeu["titre"])
    print(jeu["genre"])

    Étape 3 : modifier une valeur

    python
    jeu["genre"] = "Aventure"

    Étape 4 : ajouter une nouvelle entrée

    python
    jeu["multijoueur"] = True

    Étape 5 : vérifier la présence d’une clé

    python
    if "editeur" not in jeu:
        print("Editeur non renseigne")

    Étape 6 : parcourir toutes les paires clé-valeur

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

    Ce que vous pratiquez dans cet exercice

    • la création d’un dictionnaire ;
    • l’accès à des valeurs par leur clé ;
    • la modification d’une valeur ;
    • l’ajout d’une nouvelle clé ;
    • la vérification d’existence d’une clé ;
    • le parcours complet avec items().

    Si vous débutez, prenez le temps de retaper ce code, puis changez les clés et les valeurs pour créer vos propres exemples : film, recette, personnage, ville, appareil, ou notes de cours.

Erreurs fréquentes & dépannage

Erreurs fréquentes

  • Confondre liste et dictionnaire : une liste utilise des index numériques, un dictionnaire utilise des clés.
  • Accéder à une clé absente avec des crochets : dico["cle"] suppose que la clé existe déjà.
  • Oublier les deux-points entre une clé et une valeur lors de la création du dictionnaire.
  • Croire qu’ajouter et modifier sont deux syntaxes différentes : dans les deux cas, on écrit dico["cle"] = valeur.
  • Parcourir un dictionnaire sans savoir ce que renvoie la boucle : avec for x in dico, on parcourt les clés.
  • Mélanger des noms de clés peu cohérents : cela rend le code plus difficile à lire et à maintenir.

Astuces & pour aller plus loin

Astuces pratiques

  • Utilisez des clés simples et homogènes, souvent des chaînes comme "nom", "age" et "ville".
  • Pensez à get() quand une information peut manquer.
  • Pour afficher tout le contenu d’un dictionnaire, items() est souvent la méthode la plus claire.
  • Commencez par de petits dictionnaires de 2 à 4 clés pour bien comprendre les opérations de base.
  • Testez vos modifications avec print() après chaque étape pour visualiser l’état du dictionnaire.

Questions fréquentes

À quoi sert un dictionnaire en Python ?

Un dictionnaire sert à associer des clés à des valeurs. Il est utile quand vous voulez retrouver une information par son nom ou son identifiant plutôt que par une position.

Comment lire une valeur dans un dictionnaire ?

Vous pouvez utiliser les crochets, par exemple dico["nom"], si la clé existe. Si elle peut être absente, dico.get("nom") est souvent plus sûr.

Comment ajouter une entrée dans un dictionnaire ?

Il suffit d’écrire une affectation avec une nouvelle clé, par exemple dico["ville"] = "Lyon".

Comment modifier une valeur existante ?

On utilise la même syntaxe que pour l’ajout : dico["age"] = 29. Si la clé existe déjà, l’ancienne valeur est remplacée.

Comment parcourir les clés et les valeurs d’un dictionnaire ?

La méthode la plus pratique est souvent items(), par exemple for cle, valeur in dico.items():.

Quelle différence entre une liste et un dictionnaire ?

Une liste stocke des éléments accessibles par position, alors qu’un dictionnaire stocke des valeurs accessibles par clé.

Conclusion

Les dictionnaires sont une brique fondamentale de Python. Pour un débutant, l’essentiel est de retenir qu’ils permettent d’associer une clé à une valeur, puis d’utiliser cette clé pour lire, ajouter, modifier ou supprimer des données.

Dans ce tutoriel, vous avez vu comment créer un dictionnaire vide ou rempli, accéder à une valeur avec les crochets ou avec get(), ajouter de nouvelles entrées, modifier des valeurs existantes, vérifier la présence d’une clé, puis parcourir le contenu avec keys(), values() et surtout items().

Pour progresser, le meilleur réflexe est de pratiquer sur de petits exemples concrets. Créez un dictionnaire pour représenter une personne, un livre, un stock ou des notes scolaires, puis entraînez-vous à le faire évoluer. Une fois cette logique acquise, vous utiliserez les dictionnaires très souvent dans vos programmes Python.

Commentaires· Aucun commentaire pour l'instant

Soyez le premier à réagir.

Laisser un commentaire