Dictionnaires en Python#

Comme on l’a vu avec les listes et les tuples, à partir des types de base (int, float, etc.) il est possible d’élaborer de nouveaux types qu’on appelle des types construits.

Un nouvel exemple de type construit est le dictionnaire.

Les éléments d’une liste ou d’un tuple sont ordonnés et on accéde à un élément grâce à sa position en utilisant un numéro qu’on appelle l’indice de l’élément.

Un dictionnaire en Python va aussi permettre de rassembler des éléments mais ceux-ci seront identifiés par une clé. On peut faire l’analogie avec un dictionnaire de français où on accède à une définition avec un mot.

Contrairement aux listes qui sont délimitées par des crochets, on utilise des accolades pour les dictionnaires.

[1]:
mon_dictionnaire = {"voiture": "véhicule à quatre roues", "vélo": "véhicule à deux roues"}

Un élément a été défini ci-dessus dans le dictionnaire en précisant une clé au moyen d’une chaîne de caractères suivie de : puis de la valeur associée

clé: valeur

On accède à une valeur du dictionnaire en utilisant la clé entourée par des crochets avec la syntaxe suivante :

[2]:
mon_dictionnaire["voiture"]
[2]:
'véhicule à quatre roues'

Comment construire une entrée dans un dictionnaire ?#

Il est très facile d’ajouter un élément à un dictionnaire. Il suffit d’affecter une valeur pour la nouvelle clé.

[3]:
mon_dictionnaire["tricycle"] = "véhicule à trois roues"
[4]:
mon_dictionnaire
[4]:
{'voiture': 'véhicule à quatre roues',
 'vélo': 'véhicule à deux roues',
 'tricycle': 'véhicule à trois roues'}

Le type d’un dictionnaire est dict.

[5]:
type(mon_dictionnaire)
[5]:
dict

Il est aussi possible d’utiliser des valeurs d’autres types.

Voici un exemple où les valeurs sont des entiers.

[6]:
nombre_de_roues = {"voiture": 4, "vélo": 2}
[7]:
type(nombre_de_roues)
[7]:
dict
[8]:
 nombre_de_roues["vélo"]
[8]:
2

Comment créer un dictionnaire ?#

Nous avons vu ci-dessous qu’il était possible de créer un dictionnaire avec des accolades qui entourent les éléments. Une autre approche possible consiste à créer un dictionnaire vide et à ajouter les éléments au fur et à mesure.

[9]:
nombre_de_pneus = {}
nombre_de_pneus["voiture"] = 4
nombre_de_pneus["vélo"] = 2
[10]:
nombre_de_pneus
[10]:
{'voiture': 4, 'vélo': 2}

Comment parcourir un dictionnaire ?#

On utilise items().

Exemple pour une boucle for avec un indice i

[11]:
nombre_de_roues = {"voiture": 4, "vélo": 2, "tricycle": 3}

for i in nombre_de_roues.items():
    print(i)
('voiture', 4)
('vélo', 2)
('tricycle', 3)

Autre exemple pour une boucle for avec deux indices : cle et valeur

[12]:
 for cle, valeur in nombre_de_roues.items():
        print("l'élément de clé", cle, "vaut", valeur)
l'élément de clé voiture vaut 4
l'élément de clé vélo vaut 2
l'élément de clé tricycle vaut 3