Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Retrouver une valeur par sa clé

La leçon entière est à lire ici. Créez un compte gratuit pour lancer ses commandes dans un laboratoire et passer ses quiz et ses exercices.

Leçon de 45 minAucune commande

Combien reste-t-il de REF-310 ?

Un client appelle le service commercial. Il veut savoir s’il reste des lampes REF-310 en stock.

L’entrepôt gère 20 000 références. Personne ne veut les lire une par une pendant que le client attend.

Avec la bonne structure de données, la réponse arrive tout de suite.

À la fin de cette leçon

Remarque

Je peux retrouver une valeur à partir de sa clé.

Mots-clés

MotCe que ça veut direExemple
Dictionnairedes paires clé et valeur{"REF-310": 12}
Cléce qui sert à chercher"REF-310"
Valeurce qu’on retrouve grâce à la clé12
inteste si une clé existe"REF-310" in stock
Ensembledes valeurs sans doublonset(clients)
KeyErrorl’erreur d’une clé absente

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Une clé mène à sa valeur

Un dictionnaire range des paires. Chaque paire a une clé et une valeur.

On l’écrit entre accolades : {"REF-310": 12}. La clé est avant les deux-points, la valeur après.

Pour lire une valeur, on donne la clé entre crochets : stock["REF-310"]. Pour la changer, on lui donne une nouvelle valeur.

À vous : le stock de l’entrepôt

Code: python
# Le stock de l'entrepôt : la référence donne la quantité.
stock = {"REF-101": 40, "REF-205": 0, "REF-310": 12}

print("Quantité de REF-310 :", stock["REF-310"])

# Un carton de 25 arrive pour REF-205.
stock["REF-205"] = stock["REF-205"] + 25

# Un nouveau produit entre au catalogue.
stock["REF-412"] = 8

print(stock)

# Affichez la quantité de REF-412.

Exemple travaillé : le stock

CléValeur avantInstructionValeur après
REF-10140aucune40
REF-2050stock["REF-205"] = 0 + 2525
REF-31012aucune12
REF-412absentestock["REF-412"] = 88

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Pourquoi la recherche par clé est rapide

Pensez au vestiaire d’un théâtre. Votre ticket porte le numéro 214. L’employé va droit au crochet 214.

Un dictionnaire fait pareil. Python calcule, à partir de la clé, l’endroit où la valeur est rangée.

Avec une liste de 20 000 éléments, il faut parfois lire les 20 000. Avec un dictionnaire, une seule recherche suffit, même avec un million de clés.

Un ensemble garde chaque valeur une fois

Un ensemble est comme un dictionnaire sans valeurs : il ne garde que des clés.

Il n’accepte pas les doublons. set(clients) garde chaque client une seule fois.

Le test in y est aussi rapide que dans un dictionnaire. On s’en sert pour savoir si un client est déjà connu, ou pour compter des valeurs différentes.

À vous : codes postaux et clients

Code: python
codes = {"75011": "Paris", "69003": "Lyon", "13001": "Marseille", "31000": "Toulouse"}

code = "69003"
if code in codes:
    print(code, "correspond à", codes[code])
else:
    print("Code inconnu :", code)

# Les clients qui ont commandé cette semaine, avec des doublons.
clients = ["Martin", "Bernard", "Martin", "Petit", "Bernard"]
uniques = set(clients)
print("Clients différents :", len(uniques))

# Essayez le code 33000, puis exécutez.

Une erreur fréquente

Attention

Beaucoup pensent qu’un dictionnaire peut garder deux fois la même clé. C’est faux : une clé est unique. Si vous donnez une valeur à une clé qui existe, l’ancienne valeur est remplacée. Pour additionner, lisez d’abord l’ancienne valeur.

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.