Python est un langage de programmation orienté objet, relativement facile à apprendre et à utiliser. C’est l’un des langages de programmation les plus populaires et il est utilisé dans de nombreuses applications différentes, telles que le développement web, l’intelligence artificielle et la science des données.

Nous avons déjà vu plusieurs manipulation dans des articles précédent sur Python. Ici, nous allons voir l’une des structures de données les plus importantes et les plus utiles de Python, c’est le dictionnaire. Un dictionnaire est une collection de paires clé-valeur, et il est utilisé pour stocker des données de manière organisée et efficace. Il permet donc de structurer des données. C’est un élément que l’on peut confondre avec les listes en Python, mais c’est différent comme nous allons le voir.

Sommaire :

Les dictionnaires sont polyvalents et ils sont utilisés à des fins très diverses. Ils peuvent être utilisés pour stocker des informations sur un utilisateur, telles que son nom, son adresse électronique et son âge. Ils peuvent également être utilisés pour stocker des données complexes, telles qu’un catalogue de produits ou une liste de prix.

Dans cet article, nous allons examiner de plus près le concept des dictionnaires en Python, explorer comment les créer et les manipuler. Nous verrons les pratiques les plus courantes pour utiliser les dictionnaires dans la programmation Python, pour faire simple, celles que j’utilise le plus.

Comment créer un dictionnaire en Python ?

On va peut-être commencer par le début ;). La création d’un dictionnaire en Python est simple et directe. Tout ce que vous avez à faire est d’utiliser la fonction dict() et de passer les paires clé-valeur que vous voulez ajouter au dictionnaire.

Par exemple, disons que nous voulons créer un dictionnaire qui contient des informations sur un utilisateur. Pour cela, il suffit de transmettre le nom, l’adresse électronique et l’âge de l’utilisateur sous forme de paires clé-valeur à la fonction dict() :

utilisateurs = dict(name="Fabien Numelion", email="fabien.numelion@example.com", age=32)

Maintenant, la variable utilisateurs contient un dictionnaire avec les paires clé / valeur spécifiées entre parenthèse. Nous pouvons utiliser la fonction print() pour afficher le contenu du dictionnaire :

print(utilisateurs)

Ceci produira le résultat suivant :

{'nom' : 'Fabien Numelion', 'email' : 'fabien.numelion@example.com', 'age' : 32}

Comme vous pouvez le voir, le dictionnaire contient les paires clé-valeur que nous avons spécifiées.

Créer un dictionnaire Python

Utiliser les accolades

Une autre façon de créer un dictionnaire est d’utiliser les accolades {}. Cette manière de procéder est similaire à la fonction dict(), mais la syntaxe est légèrement différente. En utilisant les accolades, nous pouvons créer le même dictionnaire utilisateur que ci-dessus :

utilisateurs = {"nom" : "Fabien Numelion", "email" : "fabien.numelion@example.com", "age" : 32}

Récupérer et afficher les éléments d’un dictionnaire

Une fois que vous avez créé un dictionnaire, vous pouvez facilement accéder à ses éléments. Pour ce faire, il vous suffit de fournir la clé de l’élément auquel vous souhaitez accéder.

Par exemple, pour accéder au nom de l’utilisateur dans le dictionnaire que nous avons créé ci-dessus, nous pouvons utiliser le code suivant :

name = utilisateur["name"]

La variable name prendra la valeur "Fabien Numelion". Nous pouvons également utiliser la méthode get() pour accéder aux éléments d’un dictionnaire :

name = utilisateur.get("name")
Récupérer une valeur dans un dictionnaire Python

Ajouter, Modifier et supprimer des éléments à un dictionnaire Python

Outre l’accès aux éléments d’un dictionnaire, vous pouvez également modifier et ajouter des éléments à un dictionnaire. Pour ce faire, il vous suffit d’attribuer une nouvelle valeur à la clé de l’élément que vous souhaitez modifier ou ajouter.

Ajouter un élément

Ceci mettra à jour l’âge de l’utilisateur à 33 ans. Nous pouvons également ajouter de nouveaux éléments au dictionnaire en affectant une valeur à une nouvelle clé :

utilisateur["genre"] = "homme"

Maintenant, le dictionnaire contient une nouvelle paire clé-valeur, avec la clé « gender » et la valeur « male ».

Modifier un élément

Maintenant, si nous souhaitons modifier l’âge de l’utilisateur dans le dictionnaire que nous avons créé ci-dessus. Nous pouvons le faire en attribuant une nouvelle valeur à la clé « age » :

utilisateur["age"] = 33

Une autre manière de procéder est d’utiliser la méthode update qui permet aussi bien d’ajouter que de mettre à jour les valeurs dans un dictionnaire Python :

utilisateur.update({"age"=33}) #mettre à jour la clé "age"
utilisateur.update({"genre"="33"homme"}) #ajouter une valeur
Mettre à jour données dans dictionnaire Python

Supprimer un élément

On peut bien entendu supprimer des éléments dans un dictionnaire en Python. Pour cela, on peut utiliser la méthode pop. Par exemple, dans notre dictionnaire créé précédemment en exemple, on pourrait supprimer l’email en faisant appel à la méthode et en indiquant la clé.

utilisateur.pop("email")
Supprimer un élément dans un dictionnaire Python

Créer une boucle sur un dictionnaire

En Python, il est possible de parcourir un dictionnaire en boucle pour accéder à ses éléments. Pour ce faire, vous pouvez utiliser la méthode items() pour obtenir une liste de tuples, chacun contenant une clé et une valeur pour chaque élément du dictionnaire.

Créer une boucle sur les clés

Une première manière de procéder est de créer une boucle sur les clés de notre dictionnaire. On va dire que c’est un peu la méthode classique :

for cle in entreprise:
    print("Valeur de ma clé : "+cle)

Cette boucle va ressortir une par une la valeur de la clé, elle va parcourir le dictionnaire et extraire cette donnée.

Créer une boucle sur les valeurs

Maintenant, si vous souhaitez ressortir la valeur associée à la clé, on peut également le faire avec une boucle sur notre dictionnaire Python. Pour cela, on va procéder de la manière suivante :

for valeur in entreprises.values()
    print("La valeur est : "+valeur)

Avec cette boucle For en Python on va retourner chaque valeur contenu dans notre dictionnaire sans la clé. Maintenant, nous allons voir comment obtenir les deux.

Créer une boucle sur les paires

Par exemple, disons que nous voulons parcourir en boucle le dictionnaire utilisateur que nous avons créé ci-dessus et imprimer chaque élément. Nous pouvons le faire en utilisant la méthode items() et la boucle for :

for key, value in user_dict.items() : print(f"{key} : {value}")

Ceci produira le résultat suivant :

nom : John Doe Courriel : jdoe@example.com âge : 33 Sexe : masculin

Parcourir un dictionnaire Python avec une boucle For

Dictionnaires imbriqués

En Python, il est possible d’imbriquer des dictionnaires, ce qui signifie qu’un dictionnaire peut contenir un autre dictionnaire comme valeur. Cela peut être utile pour stocker des données complexes, comme un catalogue de produits qui contient des informations sur chaque produit, comme son nom, son prix et sa description.

Par exemple, disons que nous voulons créer un catalogue de produits contenant trois produits. Nous pouvons le faire en imbriquant les dictionnaires :

catalogue = { "produit_1" : { "nom" : "iPhone X", "prix" : 999, "description" : "Le dernier modèle de l'iPhone" }, "produit_2" : { "nom" : "MacBook Pro", "prix" : 1499, "description" : "Le dernier modèle de MacBook Pro". }, "produit_3" : { "nom" : "Apple Watch", "prix" : 399, "description" : "Le dernier modèle de l'Apple Watch" } }

Maintenant, le dictionnaire catalog contient trois dictionnaires imbriqués, chacun contenant des informations sur un produit. Nous pouvons accéder aux informations d’un produit spécifique en utilisant la méthode get() :

name = catalog.get("product_1").get("name") prix = catalog.get("produit_1").get("prix") description = catalog.get("produit_1").get("description")

Ceci définira les variables name, price, et description à "iPhone X", 999, et "Le dernier modèle de l'iPhone" respectivement.

Compréhension des dictionnaires Python

Maintenant que vous savez comment créer et manipuler des dictionnaires en Python, il est important de comprendre leur fonctionnement. Les dictionnaires sont implémentés comme des tables de hachage, ce qui signifie qu’ils stockent les données de manière efficace et organisée. Chaque élément du dictionnaire est stocké sous forme de paire clé-valeur, et chaque clé est associée à une valeur spécifique.

Les clés d’un dictionnaire doivent être uniques et immuables, ce qui signifie qu’elles ne peuvent pas être modifiées ou dupliquées. Les valeurs d’un dictionnaire peuvent être n’importe quel type d’objet, y compris les dictionnaires. Cela signifie que vous pouvez créer des structures de données complexes à l’aide de dictionnaires.

Bonnes pratiques pour utiliser des dictionnaires en Python

La première bonne pratique consiste à utiliser des clés significatives et descriptives. Cela facilitera la compréhension et le débogage de votre code. Il est également important d’utiliser la structure de données la plus efficace pour la tâche à accomplir. Par exemple, si vous stockez une grande quantité de données, l’utilisation d’un dictionnaire n’est peut-être pas la meilleure solution, on peut se tourner vers une base de données type SQL, mais c’est un autre sujet.

Il est également important d’utiliser la méthode la plus appropriée pour accéder aux éléments d’un dictionnaire et les manipuler. Par exemple, si vous devez trouver un élément, l’utilisation de l’opérateur « in » peut être plus efficace que de parcourir le dictionnaire en boucle.

Enfin, il est important de sécuriser votre code en évitant d’utiliser des objets mutables, tels que des listes et des dictionnaires, comme clés dans un dictionnaire. Cela peut provoquer un comportement inattendu et entraîner des problèmes de sécurité.

Liste des principales fonctions / méthodes pour manipuler un dictionnaire Python

Il existe plusieurs fonctions / méthodes pour manipuler un dictionnaire dans le langage de programmation Python. Voici quelques-unes des plus courantes que vous risquez de rencontrer :

  • len(dictionnaire) : renvoie le nombre d’éléments dans le dictionnaire.
  • dictionnaire.clear() : supprime tous les éléments du dictionnaire.
  • dictionnaire.copy() : renvoie une copie du dictionnaire.
  • dictionnaire.keys() : renvoie une vue d’ensemble des clés dans le dictionnaire.
  • dictionnaire.values() : renvoie une vue d’ensemble des valeurs dans le dictionnaire.
  • dictionnaire.items() : renvoie une vue d’ensemble des paires clé-valeur dans le dictionnaire.
  • dictionnaire.get(clé, valeur_par_défaut) : renvoie la valeur associée à la clé donnée. Si la clé n’existe pas, renvoie la valeur par défaut spécifiée (ou None par défaut).
  • dictionnaire.pop(clé, valeur_par_défaut) : supprime l’élément associé à la clé donnée et renvoie sa valeur. Si la clé n’existe pas, renvoie la valeur par défaut spécifiée (ou génère une erreur si aucune valeur par défaut n’est fournie).
  • dictionnaire.update({clé: valeur}) : ajoute ou modifie un élément dans le dictionnaire.
  • dictionnaire.setdefault(clé, valeur_par_défaut) : renvoie la valeur associée à la clé donnée. Si la clé n’existe pas, ajoute la clé avec la valeur par défaut spécifiée et renvoie cette valeur.

Ces fonctions pourront vous être sont utiles pour effectuer des opérations courantes sur les dictionnaires en Python.

Conclusion

Dans cet article, nous avons abordé le concept des dictionnaires en Python. Nous avons exploré comment créer, accéder et manipuler des dictionnaires, ainsi que comment les imbriquer et les utiliser pour stocker des données. Nous avons également abordé les bonnes pratiques d’utilisation des dictionnaires dans la programmation Python.

Les dictionnaires sont des structures de données essentielles dans la « boîte à outils » de tout programmeur Python. J’espère que cet article et la vidéo vous aideront pour créer et utiliser les dictionnaires dans votre code.