Python : Les dictionnaires
Introduction
Les dictionnaires sont des objets qui peuvent en contenir d’autres.
Au lieu d’héberger des informations dans un ordre précis comme les listes, un dictionnaire associe chaque objet contenu à une clé (généralement une chaîne de caractères).
- Clé 1
- Valeur 1
- Clé 2
- Valeur 2
- …
Un dictionnaire est un type de données extrêmement puissant et pratique.
Il se rapproche des listes sur certains points mais, sur beaucoup d’autres, il en diffère totalement.
La liste
- Objet conteneur d’autres objets.
- Pour accéder aux objets contenus, il faut connaître leur position dans la liste.
- Cette position se traduit par des entiers, appelés indices, compris entre 0 (inclus) et la taille de la liste (non incluse).
Le dictionnaire
- Objet conteneur d’autres objets également.
- Mais aucune structure ordonnée.
- Pour accéder aux objets contenus, on n’utilise pas nécessairement des indices mais des clés qui peuvent être de bien des types distincts.
Création et édition
Il existe deux moyens de créer des dictionnaires:
A l’aide de la fonction “dict()”
A l’aide des accolades “{}”
Pour ajouter un élément on précise entre crochet la clé à laquelle nous souhaitons accéder.
Si la clé n’existe pas, elle est ajoutée au dictionnaire avec la valeur spécifiée après le signe “=”.
Sinon, l’ancienne valeur à l’emplacement indiqué est remplacée par la nouvelle :
Notion de clé et valeur
Accès à la valeur d’une clé
Si la clé n’existe pas dans le dictionnaire, une exception de type KeyError sera levée.
Les clés ne sont pas obligatoirement des chaînes de caractères.
Ce fonctionnement ressemble à celui d’une liste mais ce n’est pas le cas.
Si vous supprimez par exemple l’indice 2, le dictionnaire, contrairement aux listes, ne va pas décaler toutes les clés d’indice supérieur à l’indice supprimé. Il n’a pas été conçu pour.
Exemple
On souhaite représenter un plateau d’échecs.
Traditionnellement, on représente une case de l’échiquier par une lettre (de A à H) suivie d’un chiffre (de 1 à 8).
La lettre définit la colonne et le chiffre définit la ligne.
Nous allons créer un dictionnaire dont les clés seront des tuples contenant la lettre et le chiffre identifiant la case, auxquelles on associe comme valeurs le nom des pièces.
Supprimer des clés
Comme pour les listes, il existe deux méthodes:
A l’aide du mot clé “del”
A l’aide de la méthode “pop()”
→ La méthode pop() renvoie la valeur supprimée en même temps que la clé
Méthodes de parcours
- Parcours des clés
Il est possible de parcourir les clés d’un dictionnaire de la même manière qu’une liste.
La méthode keys() de la classe dict permet d’obtenir ce même résultat:Comme les dictionnaires n’ont pas de structure ordonnée, les clés ne s’affichent pas dans l’ordre dans lequel on les a entrées. - Parcours des valeurs
On peut aussi parcourir les valeurs contenues dans un dictionnaire à l’aide de la méthode values().
Peu utilisé car il est plus pratique de parcourir la liste des clés, puis les valeurs correspondantes.
Il est possible de l’utiliser dans une condition: - Parcours des clés et valeurs simultanément
Pour avoir en même temps les clés et les valeurs on utilise la méthode items().
En résumé
- Un dictionnaire est un objet conteneur associant des clés à des valeurs.
- Pour créer un dictionnaire, on utilise la syntaxe:
dictionnaire = { cle1:valeur1, cle2:valeur2, cleN:valeurN } - On peut ajouter ou remplacer un élément dans un dictionnaire:
dictionnaire[cle] = valeur - On peut supprimer une clé (et sa valeur correspondante) d’un dictionnaire en utilisant:
- le mot-clé del
- la méthode pop()
- On peut parcourir un dictionnaire grâce aux méthodes:
- keys() : parcourt les clés
- values() : parcourt les valeurs
- items() : parcourt les couples clé-valeur
Cours basé sur les travaux de Vincent Le Goff
Bonjour, j’aimerais savoir s’il est possible de créer un fonction dont l’argument est un dictionnaire. Si c’est possible je ne voit pas comment faire, pouvez-vous m’éclaircir?
0oig6g
xj949t
mqz108
840bwk
5qkh6o
bajeh1
xdivpt
y8yiz5
9hby35
5xdetu
tuvqr1
uxvowk