Pensez-vous que ce qui suit est une bonne définition de ce qu'est
Reeborg ?
robot: une machine qui peut faire des tâches automatiquement,
normalement contrôlée par les humains et principalement utilisée pour
effectuer des tâches répétitives.
Savoir chercher la définition d'un mot dans un dictionnaire est très utile quand vous voulez écrire une histoire. Python a son propre type de dictionnaires qui sont très utiles quand vous écrivez des programmes.
Notre liste d'ingrédients était très utile... Mais, sans voir, vous rappelez-vous de combien d'œufs nous avions besoin ? Pourriez-vous le trouver sans avoir à imprimer toute la liste si vous ne vous en souvenez pas ? À moins que vous ne vous souveniez de l'ordre dans lequel étaient les ingrédients, vous pourrez trouver cela difficile. Cependant, si nous avions utilisé un objet Python différent, à savoir un dictionnaire (en abrégé, un dict), cela aurait été très facile. Voici un exemple :
>>> ingredients2 = { 'oeufs' : 4, # notez l'accolade après le signe =
... 'sucre': '100 g',
... 'poudre de cacao': '30 ml',
... 'chocolat noir': '250 g'} # une accolade ici aussi.
>>> print ingredients2
{'chocolat noir': '250 g', 'poudre de cacao': '30 ml', 'oeufs': 4, 'sucre': '100 g'}
Chaque entrée dans un dictionnaire est de la forme "clé : valeur", avec une virgule séparant chaque entrée de la suivante. Remarquez que, quand nous imprimons ingredients2, l'ordre dans lequel les items apparaissent est différent de l'ordre dans lequel nous les avons mis.
Maintenant, si nous voulons le nombre d'œufs, nous faisons simplement :
>>> print ingredients2['oeufs']
4
Si nous voulons trouver toutes les valeurs contenues dans ingredients2, nous pouvons faire ce qui suit :
>>> for cle in ingredients2:
... print ingredients2[cle]
...
4
250 g
30 ml
100 g
Nous pouvons aussi faire ce qui suit :
>>> for cle in ingredients2:
... print str(cle) + ":" + str(ingredients2[cle])
...
chocolat noir:250 g
poudre de cacao:30 ml
oeufs:4
sucre:100 g
Nous avons utilisé la fonction interne str() qui convertit tout objet en une chaîne, pour pouvoir faire la concaténation correcte quand nous avons imprimé.
Oh-oh... on dirait que j'ai oublié la garniture encore une fois ! Ajoutons-la :
>>> ingredients2["creme Chantilly"] = "Plein !"
Essayez !
Alors qu'on peut mettre n'importe quel objet comme valeur dans un dictionnaire, seuls les objets immuables peuvent être utilisés comme clés. Nous verrons un peu plus tard ce que cela signifie ; pour l'instant, cela veut dire que, de tous les objets que nous avons vus, seuls les chaînes et les nombres peuvent être utilisés comme clés dans un dictionnaire. On ne peut utiliser des listes et on ne peut pas utiliser d'autres dictionnaires. Essayez diverses combinaisons de ces objets soit comme clés soit comme valeurs et voyez ce que Python vous dira !
Pouvez-vous deviner comment enlever une entrée d'un dictionnaire ? Si oui, alors essayez. Sinon, cela veut probablement dire que vous n'avez pas été très attentif lors de la dernière leçon. Revenez en arrière et lisez-la, particulièrement la partie où nous avons expliqué comment supprimer un item d'une liste.