Titre RNCP Niveau 7

Maîtrisez pipelines, cloud & IA pour devenir Data Engineer opérationnel.

Devenez Data Engineer

DataScientist.fr

Formations

L'équipeLa plateforme
Offre entreprises

🇫🇷

Dans l'univers fascinant de la programmation, Python se distingue par sa simplicité et sa puissance. Parmi ses structures de données essentielles, le dictionnaire se révèle être un outil incontournable pour tout développeur souhaitant organiser et manipuler efficacement des données. Cette exploration vous guidera à travers les bases de la création et de l'utilisation des dictionnaires en Python, tout en dévoilant des techniques avancées pour tirer parti de leur flexibilité. Plongez dans cet univers et découvrez comment transformer votre façon de coder grâce à ces structures polyvalentes.

Introduction aux dictionnaires en python

Les dictionnaires en Python sont des structures de données essentielles qui permettent de stocker des paires clé-valeur. Contrairement aux listes qui utilisent des indices numériques pour accéder à leurs éléments, les dictionnaires utilisent des clés uniques, permettant ainsi un accès rapide et efficace aux données. Cette flexibilité fait des dictionnaires un outil précieux pour de nombreux cas d'utilisation en programmation Python.

Création d'un dictionnaire

Pour créer un dictionnaire en Python, vous pouvez utiliser des accolades {} et spécifier les paires clé-valeur séparées par des deux-points. Voici un exemple simple :
python
Dans cet exemple, "nom", "âge", et "profession" sont les clés, tandis que "Alice", 30, et "Ingénieure" sont les valeurs correspondantes.

Accès aux valeurs

Vous pouvez accéder à une valeur dans un dictionnaire en utilisant la clé associée. Par exemple, pour obtenir l'âge d'Alice, vous utiliserez :
python
Si vous essayez d'accéder à une clé qui n'existe pas, Python lèvera une erreur KeyError. Pour éviter cela, vous pouvez utiliser la méthode get() qui renvoie None si la clé n'est pas trouvée, ou une valeur par défaut que vous spécifiez :
python

Modification et ajout de paires clé-valeur

Les dictionnaires sont mutables, ce qui signifie que vous pouvez modifier les valeurs existantes et ajouter de nouvelles paires clé-valeur. Pour modifier l'âge d'Alice, vous pouvez faire :
python
Pour ajouter un nouvel élément, par exemple, le lieu de résidence, vous procédez de la même manière :
python

Suppression d'éléments

Vous pouvez supprimer une paire clé-valeur en utilisant l'instruction del :
python
Vous pouvez également utiliser la méthode pop() qui supprime une clé spécifique et renvoie sa valeur :
python

Itération sur un dictionnaire

Il est souvent utile d'itérer sur les clés ou les valeurs d'un dictionnaire. Voici comment vous pouvez parcourir les clés :
python
Ou les valeurs :
python
Pour itérer sur les paires clé-valeur, utilisez la méthode items() :
python
Les dictionnaires en Python sont puissants et polyvalents, rendant la gestion et la manipulation des données complexes beaucoup plus simples et efficaces.

Création de dictionnaires en python

La création de dictionnaires en Python est une tâche simple mais cruciale, qui permet de gérer des données structurées de manière efficace. Examinons plusieurs méthodes pour créer des dictionnaires et les manipuler.

Création de dictionnaires vides

Un dictionnaire vide peut être créé en utilisant des accolades {} ou la fonction dict(). Bien que les deux approches soient équivalentes, l'utilisation des accolades est plus courante en raison de sa concision :
python

Création avec des paires clé-valeur

La méthode la plus directe pour créer un dictionnaire est de le définir avec des paires clé-valeur dès sa création. Chaque clé doit être unique et immuable, comme une chaîne de caractères ou un nombre :
python

Utilisation de la fonction dict()

La fonction dict() permet de créer un dictionnaire à partir d'une liste de tuples, chaque tuple contenant une paire clé-valeur. Cette méthode est particulièrement utile lorsque vous devez convertir d'autres structures de données en dictionnaires :
python

Compréhension de dictionnaires

La compréhension de dictionnaires est une technique avancée qui permet de créer des dictionnaires de manière concise et efficace. Elle est similaire à la compréhension de listes, mais avec une syntaxe adaptée aux paires clé-valeur :
python

Fusion de dictionnaires

Avec l'introduction de Python 3.9, il est possible de fusionner deux dictionnaires en utilisant l'opérateur |. Cette méthode crée un nouveau dictionnaire contenant les éléments des deux dictionnaires sources :
python
Ces différentes méthodes de création de dictionnaires offrent une grande flexibilité, permettant de choisir la plus adaptée en fonction des besoins spécifiques de votre projet.

Accéder aux valeurs du dictionnaire

Accéder aux valeurs dans un dictionnaire Python est une opération courante et essentielle pour extraire et manipuler les données contenues. Explorons les différentes méthodes pour accéder aux valeurs des dictionnaires.

Accès direct par clé

La méthode la plus directe pour accéder à une valeur dans un dictionnaire est d'utiliser la clé associée. Cela se fait en utilisant des crochets [] :
python
Cette méthode est rapide, mais si la clé n'existe pas, elle lève une exception KeyError.

Utilisation de la méthode get()

Pour éviter les erreurs lorsqu'une clé est manquante, la méthode get() est une alternative sûre. Elle permet de spécifier une valeur par défaut si la clé n'est pas trouvée :
python

Accès conditionnel

Parfois, il peut être utile de vérifier l'existence d'une clé avant d'accéder à sa valeur, ce qui peut être fait avec l'opérateur in :
python

Itération sur les clés et valeurs

Pour parcourir toutes les valeurs d'un dictionnaire, vous pouvez utiliser une boucle for avec la méthode values() :
python
Si vous avez besoin des clés et des valeurs simultanément, la méthode items() est appropriée :
python
Ces techniques permettent non seulement d'accéder aux valeurs, mais aussi de gérer les données avec plus de flexibilité et de sécurité, assurant ainsi un code robuste et fiable.

Remplir les dictionnaires progressivement

Remplir les dictionnaires progressivement est une approche courante lorsque les données ne sont pas toutes disponibles simultanément ou lorsqu'elles sont générées au fur et à mesure. Cette méthode permet de construire des dictionnaires dynamiques et flexibles.

Initialisation d'un dictionnaire vide

La première étape consiste à créer un dictionnaire vide que vous pourrez remplir au fur et à mesure. Cela se fait facilement avec des accolades {} ou dict() :
python

Ajout de paires clé-valeur

Vous pouvez ajouter des éléments à un dictionnaire en assignant une valeur à une nouvelle clé. Cela modifie le dictionnaire en place :
python
Si la clé existe déjà, sa valeur sera mise à jour :
python

Utilisation de conditions pour ajouter des éléments

Dans certains cas, vous pouvez vouloir ajouter des éléments au dictionnaire sous certaines conditions, comme lorsqu'une donnée est reçue d'une source externe :
python

Mise à jour multiple avec update()

La méthode update() est utile pour ajouter plusieurs paires clé-valeur à la fois à partir d'un autre dictionnaire ou d'une liste de tuples :
python
Cette méthode remplace les valeurs existantes si les clés sont déjà présentes dans le dictionnaire.

Extensions dynamiques avec des boucles

Lorsque vous travaillez avec des données répétitives ou générées, il est courant d'utiliser des boucles pour remplir les dictionnaires :
python
Ce processus permet de gérer facilement des collections de données de taille variable et de s'adapter à des besoins changeants, rendant les dictionnaires extrêmement polyvalents pour de nombreuses applications programmatiques.

Explorer les méthodes de la classe dict

Les dictionnaires en Python sont dotés de nombreuses méthodes intégrées qui facilitent leur manipulation. Ces méthodes permettent de gérer les données efficacement, de les transformer, et d'exécuter des opérations courantes en toute simplicité.

La méthode keys()

La méthode keys() renvoie une vue de toutes les clés présentes dans le dictionnaire, ce qui est utile pour l'itération ou les vérifications :
python
Ce résultat peut être converti en liste si nécessaire :
python

La méthode values()

Semblable à keys(), la méthode values() renvoie une vue de toutes les valeurs du dictionnaire :
python

La méthode items()

La méthode items() fournit une vue des paires clé-valeur sous forme de tuples, ce qui est parfait pour l'itération :
python

La méthode pop()

pop() supprime une clé du dictionnaire et renvoie sa valeur. Si la clé n'existe pas, elle lève une erreur KeyError, sauf si une valeur par défaut est fournie :
python

La méthode popitem()

La méthode popitem() retire et renvoie une paire clé-valeur arbitraire sous forme de tuple. Cela est particulièrement utile pour traiter un dictionnaire comme une pile :
python

La méthode clear()

Si vous devez vider un dictionnaire, la méthode clear() supprime tous les éléments :
python
Ces méthodes intégrées permettent de manipuler les dictionnaires de manière fluide et efficace, offrant une grande flexibilité dans la gestion des données.

Utiliser des opérateurs avec des dictionnaires

Les dictionnaires en Python peuvent être manipulés à l'aide d'opérateurs, facilitant ainsi diverses opérations telles que la fusion, la mise à jour ou la vérification de l'existence de clés. Ces opérateurs apportent une syntaxe élégante et concise pour gérer les dictionnaires.

Opérateur de fusion |

Introduit avec Python 3.9, l'opérateur | permet de fusionner deux dictionnaires en créant un nouveau dictionnaire contenant les éléments de chacun. Si des clés en double existent, les valeurs du deuxième dictionnaire prévalent :
python

Opérateur de mise à jour |=

L'opérateur |=, également introduit avec Python 3.9, met à jour le dictionnaire de gauche avec les éléments du dictionnaire de droite, modifiant le dictionnaire en place :
python

Opérateur d'appartenance in

L'opérateur in est utilisé pour vérifier la présence d'une clé dans un dictionnaire. Il retourne un booléen, True si la clé est présente, sinon False :
python

Opérateur de suppression del

Pour supprimer une entrée spécifique d'un dictionnaire, vous pouvez utiliser l'opérateur del :
python

Opérateur de comparaison

Les dictionnaires peuvent être comparés pour vérifier l'égalité (==) ou l'inégalité (!=). Deux dictionnaires sont considérés égaux s'ils ont les mêmes paires clé-valeur, indépendamment de l'ordre :
python
Ces opérateurs offrent des moyens puissants et succincts de manipuler les dictionnaires, rendant le code plus lisible et efficace.

Utiliser des fonctions intégrées avec des dictionnaires

Les fonctions intégrées de Python offrent des moyens puissants de manipuler et d'exploiter les dictionnaires, permettant d'effectuer des opérations complexes de manière simple et efficace. Voici quelques-unes des fonctions intégrées les plus utiles pour travailler avec les dictionnaires.

La fonction len()

La fonction len() est utilisée pour obtenir le nombre de paires clé-valeur dans un dictionnaire. C'est une méthode simple pour vérifier la taille d'un dictionnaire :
python

La fonction sorted()

sorted() peut être utilisée pour obtenir une liste triée des clés d'un dictionnaire. Par défaut, elle trie par ordre croissant :
python
Vous pouvez également trier les clés par leurs valeurs associées en utilisant une fonction lambda :
python

La fonction max() et min()

Ces fonctions trouvent respectivement la clé avec la valeur maximale ou minimale. Elles sont souvent utilisées avec la fonction key pour spécifier le critère de comparaison :
python

La fonction any() et all()

Ces fonctions sont utiles pour vérifier des conditions sur les valeurs d'un dictionnaire. any() retourne True si au moins une valeur est vraie, tandis que all() retourne True uniquement si toutes les valeurs sont vraies :
python
L'utilisation de ces fonctions intégrées permet de simplifier et d'optimiser le traitement des dictionnaires, rendant le code plus concis et performant.

Itérer sur les dictionnaires

L'itération sur les dictionnaires est une tâche fréquente qui permet d'examiner et de manipuler les données qu'ils contiennent. Python offre plusieurs méthodes pour parcourir efficacement un dictionnaire.

Itération sur les clés

La méthode la plus simple pour itérer sur un dictionnaire est de parcourir ses clés. Par défaut, une boucle for itère sur les clés :
python
Cette approche est utile lorsque vous avez uniquement besoin des clés. Pour accéder aux valeurs pendant l'itération, vous pouvez utiliser la clé pour récupérer la valeur :
python

Itération sur les valeurs

Pour parcourir uniquement les valeurs, la méthode values() est utilisée, ce qui simplifie l'accès direct aux valeurs sans avoir à spécifier les clés :
python
Cette méthode est idéale lorsque les clés ne sont pas nécessaires pour le traitement.

Itération sur les paires clé-valeur

Pour accéder simultanément aux clés et aux valeurs, la méthode items() est la plus efficace. Elle renvoie une vue des paires clé-valeur sous forme de tuples :
python
Cette méthode est particulièrement utile pour des transformations ou des calculs qui nécessitent à la fois la clé et la valeur.

Itération et modification

Bien qu'il soit possible de modifier un dictionnaire en cours d'itération, cela peut entraîner des comportements inattendus. Si vous devez ajouter ou supprimer des éléments pendant l'itération, il est recommandé de créer une copie des clés :
python
L'itération sur les dictionnaires en Python est flexible et puissante, permettant de manipuler efficacement les structures de données tout en maintenant un code propre et lisible.

Explorer les classes existantes de type dictionnaire

En Python, plusieurs classes dérivées du type de base dict offrent des fonctionnalités supplémentaires et des comportements spécifiques qui répondent à des besoins particuliers. Explorer ces classes permet d'étendre les capacités des dictionnaires standards.

collections.OrderedDict

Avant Python 3.7, les dictionnaires ne gardaient pas l'ordre d'insertion des éléments. OrderedDict de la bibliothèque collections préserve cet ordre, ce qui peut être crucial pour certaines applications :
python
Bien que depuis Python 3.7, les dictionnaires standard conservent l'ordre d'insertion, OrderedDict offre des méthodes supplémentaires comme movetoend().

collections.defaultdict

defaultdict est une sous-classe qui initialise automatiquement une valeur par défaut lorsqu'une clé inexistante est accédée, évitant ainsi les erreurs KeyError :
python
Vous pouvez spécifier tout type d'objet comme valeur par défaut, ce qui est très utile pour compter des occurrences ou accumuler des résultats.

collections.Counter

Counter est une classe spécialement conçue pour compter les occurrences d'éléments dans un itérable. C'est une solution idéale pour les problèmes de comptage :
python

collections.UserDict

UserDict est une classe de base pour créer des sous-classes personnalisées de dictionnaires. Contrairement à l'héritage de dict, UserDict est plus flexible et permet de surcharger les méthodes de manière plus sécurisée.
Ces classes offrent des capacités avancées qui enrichissent l'utilisation des dictionnaires en Python, aidant à résoudre des problèmes spécifiques de manière élégante et efficace.

Créer des classes personnalisées de type dictionnaire

La création de classes personnalisées de type dictionnaire permet d'étendre les capacités des dictionnaires standards pour répondre à des besoins spécifiques. Python offre des outils pour développer ces classes tout en conservant la flexibilité et la puissance des dictionnaires.

Hériter de dict

Une méthode simple pour créer une classe personnalisée est d'hériter directement de dict. Cela permet de surcharger les méthodes existantes ou d'en ajouter de nouvelles :
python
Ce code définit une méthode afficher qui parcourt le dictionnaire et imprime ses paires clé-valeur.

Utiliser collections.UserDict

UserDict de la bibliothèque collections offre une alternative plus sûre pour créer des classes dérivées de dictionnaires. Contrairement à l'héritage direct de dict, cette approche évite certains pièges liés à la manipulation directe de l'objet interne :
python
Ici, la méthode setitem est surchargée pour afficher un message chaque fois qu'une valeur est modifiée ou ajoutée, tout en conservant le comportement standard grâce à super().

Ajouter des fonctionnalités spécifiques

Créer des classes personnalisées permet d'incorporer des fonctionnalités spécifiques adaptées à vos besoins. Par exemple, vous pouvez créer un dictionnaire qui calcule automatiquement la somme de ses valeurs numériques :
python
Cette classe utilise une propriété pour calculer la somme des valeurs numériques, illustrant comment personnaliser un dictionnaire pour des applications spécifiques.
En créant des classes personnalisées, vous pouvez enrichir les fonctionnalités des dictionnaires en Python tout en maintenant un code propre et structuré.

Conclusion

Les dictionnaires en Python sont des outils puissants et polyvalents qui jouent un rôle fondamental dans la gestion des données. À travers cet article, nous avons exploré leur création, leur manipulation et les diverses méthodes et fonctions qui enrichissent leur utilisation. En comprenant comment accéder efficacement aux valeurs, remplir progressivement les dictionnaires, ou encore utiliser les opérateurs et les fonctions intégrées, vous pouvez optimiser vos interactions avec ces structures de données.

Récapitulatif des concepts clés

Nous avons commencé par comprendre comment créer et initialiser des dictionnaires, que ce soit par des paires clé-valeur directes ou via des méthodes plus complexes comme la compréhension de dictionnaires. L'accès aux valeurs, crucial pour extraire et manipuler les données, peut se faire de manière sécurisée grâce à des techniques comme l'utilisation de get() pour éviter les erreurs courantes.
L'itération sur les dictionnaires, qu'il s'agisse de clés, de valeurs ou de paires clé-valeur, offre une flexibilité qui se révèle essentielle pour de nombreuses opérations de traitement. De plus, l'exploration des classes dérivées telles que OrderedDict, defaultdict, et Counter a démontré comment étendre les fonctionnalités de base des dictionnaires pour répondre à des besoins spécifiques.
En créant des classes personnalisées, nous avons vu comment intégrer des fonctionnalités sur mesure, telles que le suivi des modifications ou le calcul automatique de sommes, montrant ainsi la capacité de Python à s'adapter à des cas d'utilisation uniques.

Applications pratiques

Les concepts abordés offrent une base solide pour appliquer les dictionnaires dans des projets réels, qu'il s'agisse de développer des applications de traitement de données, de gérer des configurations complexes, ou de construire des structures de données avancées. Les dictionnaires peuvent être intégrés dans des algorithmes de recherche, des systèmes de recommandation, ou même dans l'organisation de bases de données en mémoire.
En conclusion, la maîtrise des dictionnaires en Python ouvre la voie à une programmation plus efficace et plus sophistiquée, permettant de tirer pleinement parti de la puissance de Python pour résoudre des problèmes complexes et variés. En continuant à explorer et à expérimenter avec ces outils, vous serez bien équipé pour relever les défis de la programmation moderne.

Partager avec

💙 Merci d'avoir parcouru l'article jusqu'à la fin !

Romain DE LA SOUCHÈRE

Romain DE LA SOUCHÈRE - Lead Developer, Expert Cloud et DevOps

Ingénieur de formation avec plus de 11 ans d'expérience dans le développement back-end et le data engineering. Expert dans l’industrialisation des projets data dans le cloud.

» En savoir plus

Formations associés

Toutes nos formations

Préparez la certification PL‑300
Préparez la certification PL‑300
24 heures
Débutant
Garantie
Préparez la certification AZ-900
Préparez la certification AZ-900
10 heures
Débutant
Garantie
Préparez la certification DP‑700
Préparez la certification DP‑700
24 heures
Débutant
Garantie
Préparez la certification DP‑900
Préparez la certification DP‑900
10 heures
Débutant
Garantie

DataScientist.fr

By AXI Technologies

128 Rue de la Boétie,
75008, Paris, France

bonjour@datascientist.fr

+33 1 70 39 08 31

+33 6 86 99 34 78

© 2026 DataScientist.fr - AXI Technologies - Tous droits réservés