Navigation rapide
- Introduction
- Créer un dictionnaire
- Récupérer une valeur
- Récupérer des valeur avec .get()
- Modifier une valeur
- Ajouter une valeur
- Supprimer des clés
- Boucler avec .keys()
- Boucler avec .value()
- Boucler avec .items()
Introduction
Les dictionnaires sont des sortes de « super listes » dans lesquels sont stockés des couples clé:valeur comme par exemple :
prenom : Ginette
L’avantages des dictionnaires est que l’on peut rappeler les valeurs par leur clé ce qui offre plus de clarté comparé aux listes.
Dans un dictionnaire les clés sont unique.
Là ou les dictionnaires deviennent très intéressants, c’est qu’une valeur d’un dictionnaire peut être un autre dictionnaires. On parle alors de dictionnaires imbriqués.
Travailler avec les dictionnaires
Créer un dictionnaire
La syntaxe pour créer un dictionnaire est :
my_dict = {key:value}
Ajouter plusieurs entrées simultanément :
my_dict = {key:value, key1:value1}
Récupérer une valeur dans un dictionnaire
La méthode est très similaire à celle utilisé pour les listes, à la différence prêt que l’on appel la valeur par sa clé, bien évidemment….
my_dict["key"]
Ce qui donne :
my_dict = {"key":"value", "key1":"value1"}
my_string = my_dict["key"]
print(my_string)
>>> value
Avec des dictionnaires imbriqués :
my_dict = {
"jouet_1" :
{"couleur" : "rouge", "forme" : "rond", "matière" : "bois"},
"jouet_2" :
{"couleur" : "bleu", "forme" : "carré", "matière" : "acier"},
"jouet_3" :
{"couleur" : "jaune", "forme" : "losange", "matière" : "plastique"}
}
my_string = my_dict["jouet_2"]["forme"]
print(my_string)
ATTENTION avec cette méthode, si la clé n’existe pas, Python retourne une erreur qui fera planté le script.
Récupérer des valeur avec la méthode .get()
Afin d’éviter ça, on préférera la méthode .get() :
my_dict = {
"jouet_1" :
{"couleur" : "rouge", "forme" : "rond", "matière" : "bois"},
"jouet_2" :
{"couleur" : "bleu", "forme" : "carré", "matière" : "acier"},
"jouet_3" :
{"couleur" : "jaune", "forme" : "losange", "matière" : "plastique"}
}
my_string = my_dict.get("jouet_1").get("couleur")
print(my_string)
>>> rouge
Modifier une valeur dans un dictionnaire
Pour modifier une valeur dans un dictionnaire, on appel tout simplement sa clé et on ré-assigne la nouvelle valeur, la syntaxe est :
my_dict = {"key":"value", "key1":"value1"}
my_dict["key"] = "Coucou"
print(my_dict["key"])
>>> Coucou
Ajouter une clé inexistante.
La syntaxe est tout simplement la même que pour modifier une valeur sur une clé existante :
my_dict = {"couleur " : "rouge", "forme" : "rond", "matiere" : "bois"}
my_dict["prix"] = 50
print(my_dict)
>>> {'couleur ': 'rouge', 'forme': 'rond', 'matiere': 'bois', 'prix': 50}
Supprimer des clés
Pour supprimer des clé, on utilise del puis la clé :
my_dict = {"couleur" : "rouge", "forme" : "rond", "matiere" : "bois"}
del my_dict["couleur"]
print(my_dict)
>>> {'forme': 'rond', 'matiere': 'bois'}
ATTENTION, si la clé n’est pas présente dans le dictionnaire, Python renverra une erreur. Pour supprimer une clé dans un dictionnaire on utilisera donc toujours une structure conditionnelle afin de garantir la robustesse des scripts :
my_dict = {"couleur" : "rouge", "forme" : "rond", "matiere" : "bois"}
if "couleur" in my_dict:
del my_dict["couleur"]
print(my_dict)
Boucler sur des dictionnaires
La méthode .keys()
Cette méthode permet de récupérer les clés dans un dictionnaire.
my_dict = {"couleur" : "rouge", "forme" : "rond", "matiere" : "bois"}
for i in my_dict.keys():
print(i)
>>> couleur
>>> forme
>>> matiere
Note : Cette méthode apporte juste un peu plus de clarté dans une boucle puisqu’elle reprend le comportement d’une boucle for classique sur un dictionnaire, c’est a dire que par default, un for boucle sur les clés d’un dictionnaire :
my_dict = {"couleur" : "rouge", "forme" : "rond", "matiere" : "bois"}
for i in my_dict:
print(i)
>>> couleur
>>> forme
>>> matiere
La méthode .values()
Cette méthode permet de récupérer les valeurs dans un dictionnaire.
my_dict = {"couleur" : "rouge", "forme" : "rond", "matiere" : "bois"}
for i in my_dict.values():
print(i)
>>> rouge
>>> rond
>>> bois
La méthode .items()
Cette méthode permet de récupérer des couples key:value :
my_dict = {"couleur" : "rouge", "forme" : "rond", "matiere" : "bois"}
for cle, valeur in my_dict.items():
print(cle, valeur)
>>> couleur rouge
>>> forme rond
>>> matiere bois
0 commentaire