Les dictionnaires en Python
Un dictionnaire est une collection non ordonnée, modifiable et indexée. En Python, les dictionnaires sont écrits avec des accolades {}, et ils ont des clés et des valeurs.
L’exemple suivant crée et affiche un dictionnaire:
dictionnaire = { 1 : "Python", 2 : "PHP", 3 : "Java" } print(dictionnaire)
Sortie:
{1: 'Python', 2: 'PHP', 3: 'Java'}
Accès aux éléments
Vous pouvez accéder aux éléments d’un dictionnaire en vous référant à son clé, entre crochets []. L’exemple suivant récupère la valeur de la clé 1:
dictionnaire = { 1 : "Python", 2 : "PHP", 3 : "Java" } print(dictionnaire[1])
Sortie:
Python
Vous pouvez aussi utiliser la méthode get() qui vous donnera le même résultat:
dictionnaire = { 1 : "Python", 2 : "PHP", 3 : "Java" } print(dictionnaire.get(1))
Sortie:
Python
Changer les valeurs d’un dictionnaire
Vous pouvez modifier la valeur d’un élément spécifique en vous référant à son clé. L’exemple suivant change la valeur du clé 1:
dictionnaire = { 1 : "Python", 2 : "PHP", 3 : "Java" } dictionnaire[1] = "Django" print(dictionnaire)
Sortie:
{1: 'Django', 2: 'PHP', 3: 'Java'}
Parcourir un dictionnaire en Python
Vous pouvez parcourir les éléments d’un dictionnaire en utilisant la boucle for. Lorsque vous parcourez un dictionnaire, les valeurs de retour sont les clés du dictionnaire, mais il existe également des méthodes pour renvoyer les valeurs.
L’exemple suivant affiche tous les clés du dictionnaire :
dictionnaire = { 1 : "Python", 2 : "PHP", 3 : "Java" } for key in dictionnaire: print(key)
Sortie:
1 2 3
L’exemple suivant affiche tous les valeurs du dictionnaire :
dictionnaire = { 1 : "Python", 2 : "PHP", 3 : "Java" } for key in dictionnaire: print(dictionnaire[key])
Sortie:
Python PHP Java
Vous pouvez également utiliser la méthode values() pour renvoyer les valeurs d’un dictionnaire:
dictionnaire = { 1 : "Python", 2 : "PHP", 3 : "Java" } for val in dictionnaire.values(): print(val)
Sortie:
Python PHP Java
Vous pouvez parcourir les clés et les valeurs à l’aide de la méthode items():
dictionnaire = { 1 : "Python", 2 : "PHP", 3 : "Java" } for key, value in dictionnaire.items(): print(key, value)
Sortie:
1 Python 2 PHP 3 Java
Vérifiez si une clé existe dans un dictionnaire
Pour déterminer si la clé spécifié est présent dans un dictionnaire, utilisez le mot clé in. L’exemple suivant vérifie si la clé 2 est présent dans le dictionnaire:
dictionnaire = { 1 : "Python", 2 : "PHP", 3 : "Java" } if 2 in dictionnaire: print("2 existe dans le dictionnaire")
Sortie:
2 existe dans le dictionnaire
Longueur d’un dictionnaire
Pour déterminer le nombre d’éléments d’un dictionnaire, utilisez la fonction len(). L’exemple suivant affiche le nombre d’éléments dans le dictionnaire:
dictionnaire = { 1 : "Python", 2 : "PHP", 3 : "Java" } print(len(dictionnaire))
Sortie:
3
Ajouter des éléments au dictionnaire
L’ajout d’un élément au dictionnaire se fait en utilisant une nouvelle clé et en lui affectant une valeur:
dictionnaire = { 1 : "Python", 2 : "PHP", 3 : "Java" } dictionnaire[4] = "C++" print(dictionnaire)
Sortie:
{1: 'Python', 2: 'PHP', 3: 'Java', 4: 'C++'}
Supprimer un élément du dictionnaire
Il existe plusieurs méthodes pour supprimer des éléments d’un dictionnaire:
1- pop()
La méthode pop() supprime l’élément avec la clé spécifié:
dictionnaire = { 1 : "Python", 2 : "PHP", 3 : "Java" } dictionnaire.pop(2) print(dictionnaire)
Sortie:
{1: 'Python', 3: 'Java'}
2- popitem()
La méthode popitem() supprime le dernier élément inséré (dans les versions antérieures de Python 3.7, la méthode popitem() supprime un élément aléatoire):
dictionnaire = { 1 : "Python", 2 : "PHP", 3 : "Java" } dictionnaire.popitem() print(dictionnaire)
Sortie:
{1: 'Python', 2: 'PHP'}
3- del
Le mot clé del supprime l’élément avec la clé spécifié:
dictionnaire = { 1 : "Python", 2 : "PHP", 3 : "Java" } del dictionnaire[2] print(dictionnaire)
Sortie:
{1: 'Python', 3: 'Java'}
4- clear()
La méthode clear() vide le dictionnaire:
dictionnaire = { 1 : "Python", 2 : "PHP", 3 : "Java" } dictionnaire.clear() print(dictionnaire)
Sortie:
{}
Dictionnaires imbriqués
Un dictionnaire peut également contenir des dictionnaires, c’est ce qu’on appelle des dictionnaires imbriqués.
persone = { "p1" : { "nom" : "Alex", "age" : 18 }, "p2" : { "nom" : "Thomas", "age" : 25 }, "p3" : { "nom" : "Yohan", "age" : 44 } }
Copier un dictionnaire
Vous ne pouvez pas copier un dictionnaire simplement en tapant dict2 = dict1, car dict2 ne sera qu’une référence à dict1, et les modifications apportées dans dict1 seront automatiquement apportées dans dict2.
Il existe un moyen de faire une copie, une façon consiste à utiliser la méthode de dictionnaire intégrée copy().
dict1 = { 1 : "Python", 2 : "PHP", 3 : "Java" } dict2 = dict1.copy() print(dict2)
Sortie:
{1: 'Python', 2: 'PHP', 3: 'Java'}