Mémo : Les dictionnaires
Les dictionnaires sont des ensembles de paires clé-valeur.
Les clés permettent d'accéder à leurs valeurs respectives.
Les clés doivent être toutes différentes et toutes immuables : int, str, tuple...
Les valeurs peuvent être de tous les types.
Les paires d'un dictionnaire n'ont pas d'ordre.
Généralités
Présentation
Création d'un dictionnaire
Les dictionnaires s'écrivent avec des accolades {}, les paires sont séparées par des virgules et chaque clé est séparée de sa valeur par un double point :.
Exemple : création directe
dico1 = {'bleu': 'blue', 'rouge': 'red', 'vert': 'green'}
Récupération de la longueur d'un dictionnaire
La longueur d'un dictionnaire, c'est-à-dire le nombre de paires qu'il contient, peut être récupérée à l'aide de la fonction len(dico).
Ajout et suppression d'éléments
Ajout d'une paire à un dictionnaire
Exemple
Le programme ci-dessous ajoute successivement de paires clé-valeur à la variable dico2
dico2 = {}
dico2['one'] = 1
dico2['two'] = 2
dico2['three'] = 3
Ligne 1 : affectation d'un dictionnaire vide à la variable dico2.
Lignes suivant : ajouts successifs de plusieurs paires au dictionnaire.
A l'issue de l'exécution du programme, dico2 référence le dictionnaire {'one': 1, 'two': 2, 'three': 3}
Suppression d'un élément dans un dictionnaire
Exemple
dico1 = {'bleu': 'blue', 'rouge': 'red', 'vert': 'green'}
del dico1['rouge'] # Supprime la paire 'rouge':'red'
Lecture d'un dictionnaire
Lecture d'une valeur à partir d'une clé
Il est possible d'accéder à chacune des valeurs à partir des clés correspondantes.
Exemple
dico1 = {'bleu': 'blue', 'rouge': 'red', 'vert': 'green'}
mot_anglais = dico1['bleu']
Ligne 2 : mot_anglais contient la valeur 'blue'.
Récupération de l'ensemble des clés
La méthode keys() renvoie une séquence contenant les clés de la liste à laquelle elle est appliquée.
Cette séquence peut être :
- transformée en liste avec
list() - transformée en tuple avec
tuple()
Exemple
dico1 = {'bleu': 'blue', 'rouge': 'red', 'vert': 'green'}
liste_cles = list(dico1.keys())
Ligne 2 : liste_cles contient ['bleu', 'rouge', 'vert']
Récupération de l'ensemble des valeurs
La méthode values() renvoie une séquence contenant les valeurs de la liste à laquelle elle est appliquée.
Cette séquence peut être :
- utilisée dans une boucle
for - transformée en liste avec
list() - transformée en tuple avec
tuple()
Exemple
dico1 = {'bleu': 'blue', 'rouge': 'red', 'vert': 'green'}
liste_valeurs = list(dico1.values())
Ligne 2 : liste_valeurs contient ['blue', 'red', 'green']
Récupération des paires sous forme de tuples
La méthode items() renvoie une séquence contenant les paires clé-valeur sous forme de tuples.
Cette séquence peut être :
- utilisée dans une boucle
for - transformée en liste de tuples avec
list() - transformée en tuple de tuples avec
tuple()
Exemple
dico = {'bleu': 'blue', 'rouge': 'red', 'vert': 'green'}
liste_paires = list(dico.items())
Ligne 2 : liste_paire contient [('bleu', 'blue'), ('rouge', 'red'), ('vert', 'green)]
Condition d'appartenance
La condition d'appartenance in ou de non appartenance not in ne s'applique qu'aux clés.
Exemple
dico = {'bleu': 'blue', 'rouge': 'red', 'vert': 'green'}
test_cle = 'bleu' in dico # test_cle contient True
test_valeur = 'blue' in dico # test_valeur contient False
Parcours d'un dictionnaire
Parcours par les clés
Exemple
Le programme ci-dessous affichage des clés du dictionnaire dico1.
dico1 = {'bleu': 'blue', 'rouge': 'red', 'vert': 'green'}
for c in dico1:
print(c)
Parcours par les paires clé-valeur
Pour parcourir un dictionnaire et utiliser les clés comme les valeurs, il faut utiliser la méthode items() vue ci-dessus.
Exemple
Le programme ci-dessous affichage des paires clé-valeur du dictionnaire dico1.
dico1 = {'bleu': 'blue', 'rouge': 'red', 'vert': 'green'}
for c, v in dico1.items():
print(c + ' se traduit, en anglais, par ' + v)