Les dictionnaires
Un tableau range des valeurs par numéro. Mais parfois, on veut les retrouver par un nom : le score de Léa, le numéro de Tom, la traduction de « chat »... C'est le rôle du dictionnaire.
Un dictionnaire associe des clés (toujours du texte) à des valeurs.
Créer un dictionnaire
scores est un dictionnaire
scores vaut ['Léa': 12, 'Tom': 8, 'Sam': 15]
affiche scores['Tom'] // 8
Dans les crochets, chaque paire s'écrit clé: valeur. Ce sont les deux-points qui font la différence avec un tableau.
Pour un dictionnaire vide, on écrit [:].
Ajouter, modifier, supprimer
scores est un dictionnaire vaut [:]
scores['Léa'] vaut 12 // nouvelle clé
scores['Tom'] vaut 8
scores['Léa'] vaut 14 // la clé existe : sa valeur est remplacée
scores supprime 'Tom'
affiche longueur(scores) // 1
Avant de lire une clé, on peut vérifier qu'elle existe avec contient :
traduction est un dictionnaire vaut ['chat': 'cat', 'chien': 'dog', 'hibou': 'owl']
mot est un texte
demande 'Un mot en français ? ' dans mot
si contient(traduction, mot) alors
affiche mot + ' se dit ' + traduction[mot] + ' en anglais.'
sinon
affiche 'Je ne connais pas ce mot.'
fin si
Question : Comment lit-on la valeur associée à la clé 'Sam' dans scores ? — scores['Sam']. Un dictionnaire se lit par sa clé texte, entre crochets : scores['Sam'].
Parcourir un dictionnaire
cles(dico) renvoie un tableau de toutes les clés, dans l'ordre où elles ont été ajoutées. On le parcourt comme n'importe quel tableau :
scores est un dictionnaire vaut ['Léa': 12, 'Tom': 8, 'Sam': 15]
noms est un tableau
noms vaut cles(scores)
pour i de 0 à longueur(noms) - 1
affiche noms[i] + ' : ' + scores[noms[i]] + ' points'
fin pour
Tableau ou dictionnaire ?
- Une liste d'éléments dans un ordre (des notes, des mots) : un tableau.
- Des valeurs retrouvées par un nom (un score par joueur, une définition par mot) : un dictionnaire.
En résumé
- Un dictionnaire associe des clés texte à des valeurs :
['Léa': 12]. - On lit et on écrit par la clé :
scores['Léa']. contient(dico, clé) vérifie qu'une clé existe ; supprime en retire une.cles(dico) donne le tableau des clés pour parcourir le dictionnaire.