Les dictionnaires

Un dictionnaire est un conteneur, un objet pouvant en contenir d’autres (à l’instar des listes) : chaque élément (item) d’un dictionnaire, est constitué d’une valeur (value) et associé à une clef (key).

Les valeurs peuvent être de n’importe quel type ;

les clés doivent être de type immuable (immutable) : chaîne de caractères ou nombre, ou bien encore un tuple de ces types.

Exemple : le dictionnaire ci contre possède 3 éléments, dont les clés sont des chaînes de caractères pour deux d’entre eux, et un entier pour l’autre.

 

Création d’un dictionnaire

On peut créer un dictionnaire vide :

D = {}

Ou bien créer un dictionnaire contenant déjà des éléments :

>>> D = {'clef1' : 1.56, 'a' : "Bonjour", 5 : 5}
>>> D
{'a': 'Bonjour', 'clef1': 1.56, 5: 5}

Remarque : à la différence des listes, un dictionnaire n’est pas ordonné. Lorsqu’on affiche un dictionnaire, l’ordre n’est pas forcément celui de la création.

 

Accéder aux éléments d’un dictionnaire

La syntaxesyntaxe La syntaxe concerne le signifiant, soit ce qu'est l'énoncé. est proche de celle utilisée pour obtenir les éléments d’une liste :

>>> D['a']
'Bonjour'

Et comme pour les listes également, il est possible de modifier la valeur d’un élément :

>>> D['a'] = "Au revoir !"
>>> D
{'a': 'Au revoir !', 'clef1': 1.56, 5: 5}

On peut obtenir l’ensemble de ses clés avec la méthode .keys()  :

>>> D.keys()
dict_keys(['a', 'clef1', 5])

L’ensemble de ses valeurs avec la méthode .values()  :

>>> D.values()
dict_values(['Au revoir !', 1.56, 5])

Et l’ensemble de ses éléments, sous la forme de tuples (clé, valeur), avec la méthode .items()  :

>>> D.items()
dict_items([('a', 'Au revoir !'), ('clef1', 1.56), (5, 5)])

 

Tests sur les dictionnaires

Pour savoir si un dictionnaire possède un élément, on peut tester s’il possède une clé :

>>> 'a' in D.keys()
True

Mais il existe un expression plus simple :

>>> 'a' in D
True

Et on peut bien sûr utiliser le mot clé in pour d’autres types de tests :

>>> 3 in D.values()
False

 

Taille d’un dictionnaire

>>> len(D)
3

 

Ajout d’éléments

Et on peut ajouter des éléments directement :

>>> dico[421] = "Gagné !"
>>> dico
{'a': 'Au revoir !', 'clef1': 1.56, 5: 5, 421 : "Gagné !"}

La clé 421  est automatiquement créée.

 

 

Créer un dictionnaire par compréhension

Comme pour les listes, il est possible de construire un dictionnaire par compréhension :

>>> Simpson = ['Homer', 'Marge', 'Bart', 'Lisa']
>>> Famille = ['père', 'mère', 'fils', 'fille']
>>> Famille_Simpson = zip(Famille, Simpson)                               # zippage !
>>> Famille_Simpson = {clef: valeur for clef, valeur in Famille_Simpson}
{'fils': 'Bart ', 'fille': 'Lisa ', 'mère': 'Marge ', 'père': 'Homer'}

Activité

Créer par compréhension le dictionnaire d = {‘a’ : 10, ‘b’ : 20, ‘c’ : 30, …..}

 

Fusion de deux dictionnaires

On peut fusionner un dictionnaire avec un autre. On parle aussi de mise à jour :

>>> Enfants_Simpson = {'fils': 'Bart', 'fille': 'Lisa', 'bébé': 'Maggie'}
>>> Famille_Simpson.update(Enfants_Simpson)
>>> Famille_Simpson
{'fils': 'Bart', 'fille': 'Lisa', 'bébé': 'Maggie', 'mère': 'Marge', 'père': 'Homer'}

Activité

Écrire une fonction compterLettres(texte) ayant pour argument une chaîne de caractères et qui renvoie un dictionnaire qui contient la fréquence de toutes les lettres de la chaîne entrée.

 

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

code