Apprentissage du langage Python

Les dictionnaires

Généralités

Présentation

Les dictionnaires sont des ensembles de paires clé-valeur.

Les clés permettent d'accéder aux valeurs.

Les clés doivent être toutes différentes et peuvent être de tous les types non modifiables : int, str, tuple...

Les valeurs peuvent être de tous les types.

Les éléments (paires) d'un dictionnaire n'ont pas d'ordre.

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'une liste

La longueur d'un dictionnaire peut être récupérée à l'aide de la fonction len(dico).

Ajout et suppression d'éléments

Ajout d'un élément dans un dictionnaire

Exemple : ajouts successifs de paires clé-valeur

dico2 = {}
dico2['one'] = 1
dico2['two'] = 2
dico2['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'

Lectures 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.

dico1 = {'bleu': 'blue', 'rouge': 'red', 'vert': 'green'}
mot_anglais = dico1['bleu']   # 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.

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())   # 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.

Cette séquence peut être :

- utilisée dans une boucle for

- transformée en liste avec list()

- transformée en tuple avec tuple()

dico1 = {'bleu': 'blue', 'rouge': 'red', 'vert': 'green'}
liste_valeurs = list(dico1.values())   # 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()

dico = {'bleu': 'blue', 'rouge': 'red', 'vert': 'green'}
liste_paires = list(dico.items())  # 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.

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 : affichage des clés d'un dictionnaire

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 et les valeurs il faut utiliser la méthode items() vue ci-dessus.

Exemple : affichage des paires clé-valeur d'un dictionnaire

dico1 = {'bleu': 'blue', 'rouge': 'red', 'vert': 'green'}
for c, v in dico1.items():
    print(c + ' se traduit, en anglais, par ' + v)