dict. get()
Renvoie la valeur d’une clé, ou une valeur par défaut quand la clé n’est pas dans le dictionnaire.
- Renvoie
- La valeur associée à la clé, ou
default. - Modifie l’original
- Non
Exemple
#student = {"name": "Léa", "points": 1240}
print(student.get("name"))
print(student.get("level"))
print(student.get("level", 1))
print(student)Définition et utilisation
#La méthode get(clé) lit une valeur dans un dictionnaire à peu près comme les crochets, mais elle ne lève pas d’erreur quand la clé est absente. Au lieu d’une KeyError, elle renvoie None ou la valeur donnée comme second argument.
Elle convient donc bien aux données dont certains champs sont optionnels, par exemple les réglages d’un utilisateur ou les réponses d’une API. Écrire settings.get("theme", "dark") fixe tout de suite la valeur de repli.
La méthode se contente de lire et n’ajoute pas la clé manquante au dictionnaire. Si vous voulez aussi enregistrer la valeur par défaut, utilisez setdefault(). Gardez aussi à l’esprit que get() ne distingue pas une clé absente d’une clé dont la valeur est None. C’est à cela que sert l’opérateur in.
Syntaxe
#dictionnaire.get(key, default=None)Paramètres
#key
une clé du dictionnaire
La clé dont vous voulez lire la valeur.default
optionnel, par défaut None
La valeur renvoyée quand la clé n’est pas dans le dictionnaire.
Plus d’exemples
#settings = {"theme": "dark"}
try:
print(settings["lang"])
except KeyError as error:
print("KeyError:", error)
print(settings.get("lang", "fr"))answers = ["B", "A", "B", "C", "B"]
counts = {}
for answer in answers:
counts[answer] = counts.get(answer, 0) + 1
print(counts)Bonnes pratiques
#- Utilisez les crochets pour les clés qui doivent exister, car leur absence est un bug qu’il vaut la peine de remarquer. Réservez
get()aux champs optionnels. - La valeur par défaut est évaluée avant même l’appel de la méthode, même quand la clé existe. Ne placez pas de calculs coûteux dans
get(); utilisez plutôt une condition avecin. - Pour compter des occurrences,
collections.Counterest plus pratique, etcollections.defaultdictpour regrouper.
Entrées associées
#- dict.setdefault()Renvoie la valeur d’une clé, et commence par enregistrer une valeur par défaut dans le dictionnaire quand la clé est absente.
- dict.pop()Supprime une clé d’un dictionnaire et renvoie sa valeur, avec éventuellement une valeur de repli.
- dict.keys()Renvoie une vue des clés du dictionnaire, qui reflète toujours son contenu actuel.
- dict()Crée un dictionnaire à partir de paires clé-valeur ou d’arguments nommés.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.