1.3. Les dictionnaires#

Un dictionnaire pour python est juste un ensemble (ordonné ou pas selon les versions) de key-val. Il est appelé avec les opérateurs {}. On peut accéder aux éléments, les modifier, savoir si un élément y est…

C’est une classe d’objet très pratique et il faut en comprendre l’usage pour bien maitriser les passages d’arguments aux fonctions.

dico = {'a': 1, 'b': 2}
dico = {
    'a': 1,
    'b': 2
}
print(dico)
{'a': 1, 'b': 2}

Il est possible de lire les données qui sont dans un dictionnaire à l’aide de l’opérateur [] :

print(dico['a'])
print(dico['b'])
print(dico['c'])
1
2
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
Cell In[4], line 3
      1 print(dico['a'])
      2 print(dico['b'])
----> 3 print(dico['c'])

KeyError: 'c'

mais cela entraine une erreur si la clé n’est pas valide. Pour contourner ce problème, on peut utiliser la fonction membre get() qui prend en argument une clé et un second argument qui est utilisé si la clé n’est pas valide.

print(dico.get('a', 0))
print(dico.get('b', 0))
print(dico.get('c', 17))
1
2
17

On peut également ajouter, modifier des choses dans un dictionnaire :

dico['b'] = [1, 2, 3]
dico['c'] = 'toto'
print(dico)
{'a': 1, 'b': [1, 2, 3], 'c': 'toto'}

Exercice

  • Créez un dictionnaire (un vrai de traduction) dont les clés sont les jours de la semaine en français et dont les valeurs sont les jours de la semaine en anglais

  • Vérifiez que la ligne suivante s’exécute bien correctement.

jour = 'lundi'
print(f"Le {jour} se dit {dico[jour]}")
Hide code cell source
dico = {
    'lundi': 'monday',
    'mardi': 'tuesday',
    'mercredi': 'wednesday',
    'jeudi': 'thursday',
    'vendredi': 'friday',
    'samedi': 'saturday',
    'dimanche': 'yeah'
}
jour = 'lundi'
print(f"Le {jour} se dit {dico[jour]}")
Le lundi se dit monday