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)