Dictionnaires Python : cartes de structure et de hachage
Maîtrisez les dictionnaires Python. Apprenez à stocker, récupérer et gérer les données des paires clé-valeur. Comprendre les performances et les meilleures pratiques pour les mappages.
Aperçu
Les dictionnaires sont sans doute la structure de données la plus importante et la plus optimisée de Python. Un dictionnaire est une collection mutable de valeurs de données stockées dans des paires « clé : valeur ». Si vous imaginez un dictionnaire du monde réel, la « clé » est le mot que vous recherchez et la « valeur » est la définition. Cette structure de couplage rend incroyablement efficace la récupération, la mise à jour et la gestion des données relationnelles.
Sous le capot, les dictionnaires Python sont implémentés sous forme de tables de hachage (ou Hash Maps) hautement optimisées. Cela implique que récupérer une valeur par sa clé est une opération à temps constant « O(1) ». Que votre dictionnaire contienne dix éléments ou dix millions d'éléments, Python peut accéder instantanément directement à l'adresse mémoire de la valeur sans avoir besoin de parcourir l'intégralité de la collection.
Pour définir un dictionnaire, vous utilisez des accolades `{}` avec des clés et des valeurs séparées par des deux-points `:`. Les clés doivent être de types immuables (comme des chaînes, des entiers ou des tuples), ce qui signifie que vous ne pouvez pas utiliser une liste comme clé de dictionnaire. Cependant, les valeurs peuvent être absolument n'importe quoi, y compris des listes, des objets ou même des dictionnaires profondément imbriqués, ce qui les rend parfaites pour représenter des structures de données de type JSON.
L'accès aux valeurs se fait en utilisant la notation entre crochets (par exemple, `user["name"]`). Cependant, si la clé n'existe pas, cette approche renvoie une « KeyError », interrompant immédiatement l'exécution du programme. Pour écrire du code plus sûr, les professionnels utilisent la méthode `.get()` (par exemple, `user.get("name")`), qui renvoie gracieusement `None` ou une valeur par défaut personnalisée si la clé est manquante, évitant ainsi les plantages inutiles.
Historiquement, les dictionnaires Python étaient complètement désordonnés. Cependant, depuisPython 3.7, il est officiellement garanti que les dictionnaires maintiennent l'ordre d'insertion. Cela signifie que lorsque vous parcourez un dictionnaire à l'aide de méthodes telles que `.keys()`, `.values()` ou `.items()`, les éléments seront renvoyés dans l'ordre exact dans lequel ils ont été initialement ajoutés au dictionnaire, combinant la vitesse des cartes de hachage avec la prévisibilité des listes.
Sortie de code et d'exécution
Création d'un profil de configuration utilisateur utilisant fortement des paires clé-valeur imbriquées.
user = {
"username": "coder123",
"role": "admin",
"active": True
}
user["last_login"] = "2026-04-10" # Adding a key
print(f"Username is {user['username']}")
# Iterating over key-value pairs
for key, value in user.items():
print(f"{key}: {value}")Username is coder123
username: coder123
role: admin
active: True
last_login: 2026-04-10Mise en œuvre étape par étape
- Gestion des réponses JSON des API REST
- Mappage d'ID uniques à des objets de données volumineux
- Stockage des paramètres de configuration de l'application
Foire aux questions
Que se passe-t-il si j'essaie d'accéder à une clé qui n'existe pas ?
L'utilisation de la notation entre crochets (user["name"]) génère une KeyError. Utilisez user.get("name") pour renvoyer None à la place sans lancer.
Sujets connexes
Apprenez tout sur les listes Python. Découvrez comment créer, découper, modifier et parcourir des tableaux en Python de manière native.
Variables et types de données Python expliquésComprendre les variables Python et les types de données de base (chaînes, entiers, flottants, booléens). Un guide complet pour débutants sur l'affectation de mémoire en Python.
Ressources Python recommandées
Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.
Comment trier une liste en Python
Apprenez à trier une liste en Python à l'aide de la méthode sort() et de la fonction sorted(). Découvrez des exemples de tri de clés personnalisé et d’ordre inverse.
Aide-mémoire sur les méthodes de chaîne Python
Un guide de référence complet pour la manipulation des chaînes Python. Maîtrisez le formatage, la recherche, le fractionnement, le remplacement et la vérification des propriétés des chaînes.
Python vs JavaScript : quel langage de programmation est le meilleur ?
Une comparaison complète entre Python et JavaScript. Explorez les différences de syntaxe, les performances, les cas d'utilisation (backend et frontend) et des exemples de codage.