Python – Les dictionnaires – Cours

Voici un cours qui t’apprendra à te servir des dictionnaires.

Dès qu’un code sera afficher dans ce cours, écris-le dans Thonny et exécute-le.

Les dictionnaires en Python sont des collections de données permettant de stocker des paires clé-valeur. Contrairement aux listes ou aux tuples qui sont indexés par des entiers, les dictionnaires utilisent des clés uniques pour accéder aux valeurs correspondantes.

Un dictionnaire est défini en utilisant des accolades {} et en séparant chaque clé et sa valeur avec deux-points :.

Exemple

etudiant = {
    "nom": "Alice",
    "âge": 20,
    "classe": "NSI",
    "notes": [15, 18, 12]
}

Dans cet exemple, "nom", "âge", "classe", et "notes" sont des clés, et leurs valeurs respectives sont "Alice", 20, "NSI", et [15, 18, 12].

Pour accéder à la valeur associée à une clé, utilisez les crochets [] avec le nom de la clé :

print(etudiant["nom"])  # Affiche : Alice
print(etudiant["notes"])  # Affiche : [15, 18, 12]

Méthode alternative : get()

La méthode .get() est une alternative qui permet de spécifier une valeur par défaut si la clé n’existe pas :

print(etudiant.get("adresse", "Adresse non renseignée"))  # Affiche : Adresse non renseignée

Vous pouvez ajouter une nouvelle paire clé-valeur ou modifier une valeur existante en utilisant une clé spécifique :

etudiant["adresse"] = "Paris"  # Ajoute une nouvelle clé "adresse"
etudiant["âge"] = 21  # Modifie la valeur de la clé "âge"

Plusieurs méthodes permettent de supprimer des éléments d’un dictionnaire :

  • del : pour supprimer une clé et sa valeur.
  • pop() : pour récupérer et supprimer la valeur associée à une clé.
del etudiant["classe"]  # Supprime l'entrée avec la clé "classe"
note = etudiant.pop("âge")  # Supprime la clé "âge" et retourne sa valeur (21)
print(note)  # Affiche : 21

Pour vérifier si une clé est présente dans le dictionnaire, utilisez l’opérateur in :

if "nom" in etudiant:
    print("La clé 'nom' est présente.")

Il existe trois façons principales de parcourir un dictionnaire :

  • Clés : Utilisez .keys() pour parcourir uniquement les clés.
  • Valeurs : Utilisez .values() pour parcourir uniquement les valeurs.
  • Paires clé-valeur : Utilisez .items() pour obtenir à la fois les clés et les valeurs.
# Parcourir les clés
for cle in etudiant.keys():
    print(cle)

# Parcourir les valeurs
for valeur in etudiant.values():
    print(valeur)

# Parcourir les paires clé-valeur
for cle, valeur in etudiant.items():
    print(f"{cle}: {valeur}")
  • len(dictionnaire) : Retourne le nombre de paires clé-valeur dans le dictionnaire.
  • clear() : Vide le dictionnaire de toutes ses clés et valeurs.
print(len(etudiant))  # Affiche le nombre d'éléments dans le dictionnaire
etudiant.clear()  # Vide le dictionnaire
print(etudiant)  # Affiche : {}

Les dictionnaires peuvent contenir d’autres dictionnaires ou structures de données comme des listes ou des tuples. Cela permet de créer des structures complexes.

classe = {
    "Alice": {"âge": 20, "notes": [15, 18, 12]},
    "Bob": {"âge": 21, "notes": [10, 14, 17]},
}

print(classe["Alice"]["notes"])  # Accède aux notes d'Alice
print(classe["Bob"]["âge"])  # Affiche l'âge de Bob

Il est possible de convertir une liste de tuples en dictionnaire avec la fonction dict() :

liste_tuples = [("nom", "Alice"), ("âge", 20), ("classe", "NSI")]
dictionnaire = dict(liste_tuples)
print(dictionnaire)  # Affiche : {'nom': 'Alice', 'âge': 20, 'classe': 'NSI'}
  • copy() : Retourne une copie du dictionnaire.
  • update() : Met à jour le dictionnaire avec les paires clé-valeur d’un autre dictionnaire.
# Copie
etudiant_copy = etudiant.copy()

# Mise à jour
nouvelle_info = {"ville": "Paris", "année": 2023}
etudiant.update(nouvelle_info)
print(etudiant)  # Affiche le dictionnaire mis à jour

Les dictionnaires sont des structures de données très flexibles et utiles pour stocker des données sous forme de paires clé-valeur. Ils offrent un accès rapide aux valeurs et permettent de structurer des informations de manière claire et organisée. En Python, les dictionnaires sont très performants et sont souvent utilisés dans les projets qui nécessitent des associations rapides entre des clés et des valeurs.