NSI (première) · Chapitre 5 · Application directe du cours
Écrire cles de valeur(d, v) renvoyant la liste des clés associées à la…
Les dictionnaires · Itérer · niveau 2
Énoncé
Écrire cles_de_valeur(d, v) renvoyant la liste des clés associées à la valeur v. Pourquoi une liste, et non une clé ?
Corrigé
def cles_de_valeur(d, v):
"""Liste des cles de d associees a la valeur v (eventuellement vide)."""
return [cle for cle, valeur in d.items() if valeur == v]
ages = {"Nour": 17, "Camille": 16, "Yanis": 17}
assert cles_de_valeur(ages, 17) == ["Nour", "Yanis"]
assert cles_de_valeur(ages, 16) == ["Camille"]
assert cles_de_valeur(ages, 99) == []
Parce que les valeurs ne sont pas uniques : deux élèves ont ans. Renvoyer une seule clé obligerait à choisir, donc à perdre — c'est exactement ce qui arrive à inverse. La liste vide couvre le cas « aucune clé » sans cas particulier : pas de None à tester chez l'appelant.
100 % gratuit
Essaie le suivant avec le tuteur
- L'exercice suivant avec le tuteur, sans compte : il guide pas à pas, sans donner la réponse
- 16 autres exercices corrigés dans ce chapitre, et 20 à chercher avec le tuteur
- Le podcast et la vidéo du chapitre et la correction filmée du TD : 2 minutes sans compte
Sans compte : le cours, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.