Dictionnaires Python : Accéder aux éléments
Apprenez à accéder aux éléments d'un dictionnaire Python : notation par crochets, get(), keys(), values(), items(), test d'appartenance et dictionnaires imbriqués.
Les dictionnaires Python stockent des données sous forme de paires clé-valeur. Savoir comment retrouver ces valeurs — et ce qui se passe lorsqu'une clé est absente — est la base du travail avec tout dictionnaire. Ce chapitre couvre toutes les techniques d'accès standard : la notation par crochets, la méthode .get(), l'itération avec .keys(), .values() et .items(), et le test d'appartenance avec in.
Notation par crochets
La façon la plus directe de récupérer une valeur est d'écrire le nom du dictionnaire suivi de la clé entre crochets.
Accéder à une valeur de dictionnaire par sa clé
Python recherche 'Bob' dans la table de hachage et retourne sa valeur en temps O(1), quel que soit le nombre de clés dans le dictionnaire.
KeyError lorsque la clé est absente
Si la clé n'existe pas, Python lève une KeyError et arrête l'exécution.
ages = {'Alice': 27, 'Bob': 34, 'Charlie': 45}
print(ages['Dave']) # KeyError: 'Dave'Gérez toujours ce cas — soit en vérifiant l'appartenance au préalable (voir la section sur l'opérateur in ci-dessous), soit en utilisant .get() à la place.
La méthode .get()
.get(key) retourne la valeur associée à key si elle existe, et None sinon — aucune exception n'est levée.
Utiliser .get() pour accéder en toute sécurité à une clé de dictionnaire
Fournir une valeur par défaut
Passez un second argument à .get() pour obtenir une valeur de repli plutôt que None :
colors = {'apple': 'red', 'banana': 'yellow', 'grape': 'purple'}
color = colors.get('orange', 'unknown')
print(color) # unknownC'est la manière idiomatique d'accéder à une clé qui peut ou non être présente sans encapsuler votre code dans un bloc try/except.
Test d'appartenance avec in
Utilisez l'opérateur in pour vérifier si une clé existe avant d'y accéder :
ages = {'Alice': 27, 'Bob': 34, 'Charlie': 45}
if 'Alice' in ages:
print(ages['Alice']) # 27
print('Dave' in ages) # False
print('Bob' in ages) # Truein teste uniquement les clés, pas les valeurs. Il s'exécute en temps O(1) car les dictionnaires sont basés sur le hachage.
Accéder à toutes les clés, valeurs et éléments
Les dictionnaires Python exposent trois objets vues qui permettent d'itérer ou d'inspecter leur contenu sans construire de liste séparée.
.keys() — toutes les clés
colors = {'apple': 'red', 'banana': 'yellow', 'grape': 'purple'}
print(colors.keys())
# dict_keys(['apple', 'banana', 'grape'])
for fruit in colors.keys():
print(fruit)
# apple
# banana
# grape.values() — toutes les valeurs
colors = {'apple': 'red', 'banana': 'yellow', 'grape': 'purple'}
print(colors.values())
# dict_values(['red', 'yellow', 'purple'])
for color in colors.values():
print(color)
# red
# yellow
# purple.items() — paires clé-valeur
.items() retourne chaque entrée sous forme de tuple (key, value). Le déballage de tuple en fait la vue la plus utile pour la plupart des tâches d'itération :
colors = {'apple': 'red', 'banana': 'yellow', 'grape': 'purple'}
for fruit, color in colors.items():
print(f'{fruit} is {color}')
# apple is red
# banana is yellow
# grape is purpleLes objets vues sont dynamiques — ils reflètent l'état actuel du dictionnaire. Si vous ajoutez ou supprimez une clé après avoir créé une vue, celle-ci se met à jour automatiquement.
Accéder aux éléments d'un dictionnaire imbriqué
Lorsqu'une valeur de dictionnaire est elle-même un dictionnaire, chaînez les crochets (ou les appels .get()) pour atteindre la valeur intérieure.
Accéder aux valeurs d'un dictionnaire imbriqué
Pour un accès plus sûr à travers plusieurs niveaux, chaînez les appels .get() :
title = library.get('book4', {}).get('title', 'Not found')
print(title) # Not foundConsultez le chapitre Dictionnaires imbriqués pour un traitement approfondi des structures de données à plusieurs niveaux.
Choisir la bonne méthode d'accès
| Situation | Approche recommandée |
|---|---|
| La clé existe avec certitude | d[key] — clair et rapide |
La clé peut être absente, None convient | d.get(key) |
| La clé peut être absente, une valeur de repli est nécessaire | d.get(key, default) |
| Vérifier avant d'accéder | if key in d: d[key] |
| Itérer sur toutes les entrées | for k, v in d.items() |
Ce qui vient ensuite
Une fois que vous savez lire les valeurs d'un dictionnaire, les étapes naturelles suivantes sont :
- Ajouter des éléments — insérer de nouvelles paires clé-valeur
- Modifier des éléments — mettre à jour des valeurs existantes
- Boucler sur les dictionnaires — modèles d'itération en profondeur
- Méthodes de dictionnaire — la référence complète des méthodes