Adloun

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

Faire l'exercice suivant avec le tuteur

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.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant avec le tuteur →