Cours
1) présentation des dictionnaires
Comme les listes, les dictionnaires permettent de "stocker" des données. Chaque élément d'un dictionnaire est composé de 2 parties, on parle de paires "clé/valeur".
Voici un exemple de dictionnaire :
mon_dico = {"nom": "Durand", "prenom": "Christophe", "date de naissance": "29/02/1981"}
Comme vous pouvez le constater, nous utilisons des accolades {} pour définir le début et la fin du dictionnaire (alors que nous utilisons des crochets [] pour les listes et les parenthèses pour les tuples). Dans le dictionnaire ci-dessus, "nom", "prenom" et "date de naissance" sont des clés et "Durand", "Christophe" et "29/02/1981" sont des valeurs. La clé "nom" est associée à la valeur "Durand", la clé "prenom" est associée à la valeur "Christophe" et la clé "date de naissance" est associée à la valeur "29/02/1981". Les clés sont des chaînes de caractères ou des nombres. Les valeurs peuvent être des chaînes de caractères, des nombres, des booléens...
Pour créer un dictionnaire, il est aussi possible de procéder comme suit :
mon_dico = {}
mon_dico["nom"] = "Durand"
mon_dico["prenom"] = "Christophe"
mon_dico["date de naissance"] = "29/02/1981"
À noter qu'il est aussi possible d'écrire :
mon_dico = dict()
mon_dico["nom"] = "Durand"
mon_dico["prenom"] = "Christophe"
mon_dico["date de naissance"] = "29/02/1981"
Il est possible d'obtenir la valeur associée à une clé :
mon_dico = {"nom": "Durand", "prenom": "Christophe", "date de naissance": "29/02/1981"}
a = mon_dico['nom']
Dans le programme ci-dessus, la variable a aura pour valeur Durand.
Il est facile d'ajouter un élément à un dictionnaire (les dictionnaires sont mutables)
mon_dico = {"nom": "Durand", "prenom": "Christophe", "date de naissance": "29/02/1981"}
mon_dico['lieu de naissance'] = 'Contamine'
L'instruction "del" permet du supprimer une paire "clé/valeur"
Soit le dictionnaire suivant :
mes_fruits = {"poire": 3, "pomme": 4, "orange": 2}
del mes_fruits["pomme"]
Il est possible de modifier la valeur d'une clé :
mes_fruits = {"poire": 3, "pomme": 4, "orange": 2}
mes_fruits["pomme"] = mes_fruits["pomme"] - 1
Après l'exécution de ce programme, la clé pomme aura pour valeur 3
2) parcourir un dictionnaire avec la boucle for
a) parcourir les clés
Il est possible de parcourir un dictionnaire à l'aide d'une boucle for. Ce parcours peut se faire selon les clés ou les valeurs. Commençons par parcourir les clés à l'aide de la méthode keys
Le programme suivant :
mes_fruits = {"poire": 3, "pomme": 4, "orange": 2}
for fruit in mes_fruits.keys():
print(fruit)
poire
pomme
orange
Attention : vous n'obtiendrez par forcement le même ordre que ci-dessus (surtout si vous utilisez une version un peu ancienne de Python). En effet, les paires clé/valeur ne sont pas ordonnées dans un dictionnaire.
À noter que le .keys() n'est pas obligatoire pour parcourir les clés, on obtient le même résultat avec simplement :
mes_fruits = {"poire": 3, "pomme": 4, "orange": 2}
for fruit in mes_fruits:
print(fruit)
b) parcourir les valeurs
La méthode values permet de parcourir le dictionnaire selon les valeurs :
mes_fruits = {"poire": 3, "pomme": 4, "orange": 2}
for qte in mes_fruits.values():
print(qte)
Le programme ci-dessus permet d'obtenir :
3
4
2
c) parcourir les clés et les valeurs en même temps
Il est possible de parcourir un dictionnaire à la fois sur les clés et les valeurs en utilisant la méthode items :
mes_fruits = {"poire": 3, "pomme": 4, "orange": 2}
for fruit, qte in mes_fruits.items():
print (f"{fruit} : {qte}")
poire : 3
pomme : 4
orange : 2
Vous avez sans doute remarqué l'utilisation de deux variables (fruit et qte) au niveau du for...in