W3docs

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— editable, runs on the server

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

python— editable, runs on the server

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)  # unknown

C'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)    # True

in 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 purple

Les 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é

python— editable, runs on the server

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 found

Consultez le chapitre Dictionnaires imbriqués pour un traitement approfondi des structures de données à plusieurs niveaux.

Choisir la bonne méthode d'accès

SituationApproche recommandée
La clé existe avec certituded[key] — clair et rapide
La clé peut être absente, None convientd.get(key)
La clé peut être absente, une valeur de repli est nécessaired.get(key, default)
Vérifier avant d'accéderif key in d: d[key]
Itérer sur toutes les entréesfor 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 :

Pratique

Pratique
In Python, which principles are applied to access items from a list or a dictionary?
In Python, which principles are applied to access items from a list or a dictionary?
Was this page helpful?