English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En Python, il y a un conteneur appelé dictionnaire. Dans le dictionnaire, nous pouvons mapper une clé à sa valeur. L'utilisation du dictionnaire permet d'accéder aux valeurs en temps constant. Mais si la clé donnée n'existe pas, des erreurs peuvent survenir.
Dans cette section, nous verrons comment traiter de tels erreurs. Si nous essayons d'accéder à une clé perdue, nous pourrions obtenir une telle erreur.
country_dict = {'India': 'IN', 'Australia': 'AU', 'Brazil': 'BR'} print(country_dict['Australia']) print(country_dict['Canada']) # This will return error
Résultat de la sortie
AU --------------------------------------------------------------------------- KeyErrorTraceback (most recent call last) <ipython-input-2-a91092e7ee85> in <module>() 2 3 print(country_dict['Australia']) ----> 4 print(country_dict['Canada'])# This will return error KeyError: 'Canada'
get()
Méthode gère KeyErrorNous pouvons utiliser la méthode get pour vérifier la clé. Cette méthode a deux paramètres. Le premier est la clé, le second est la valeur par défaut. Une fois la clé trouvée, elle retournera la valeur associée à la clé, mais si la clé n'existe pas, elle retournera la valeur par défaut, qui est transmise en tant que second paramètre.
country_dict = {'India': 'IN', 'Australia': 'AU', 'Brazil': 'BR'} print(country_dict.get('Australia', 'Non trouvé')) print(country_dict.get('Canada', 'Non trouvé'))
Résultat de la sortie
AU Non trouvé
setdefault()
Méthode gère KeyErrorLasetdefault()
Méthode similaire àget()
Méthode. Elle nécessite également deux paramètres, par exempleget()
。Le premier est la clé, le second est la valeur par défaut. La seule différence de cette méthode est qu'elle ajoute une nouvelle clé avec une valeur par défaut lorsqu'il manque la clé.
country_dict = {'India': 'IN', 'Australia': 'AU', 'Brazil': 'BR'} country_dict.setdefault('Canada', 'Non présent') # Définir une valeur par défaut pour le Canada print(country_dict['Australia']) print(country_dict['Canada'])
Résultat de la sortie
AU Non présent
defaultdict est un conteneur. Il se trouve dans le module collections de Python. defaultdict utilise l'usine par défaut comme paramètre. Au départ, l'usine par défaut est définie sur 0 (entier). Si la clé n'existe pas, elle renvoie la valeur de l'usine par défaut.
Nous n'avons pas besoin de spécifier à nouveau la méthode à plusieurs reprises, donc elle fournit des méthodes plus rapides pour les objets dictionnaire.
import collections as col # Définir l'usine par défaut avec la chaîne 'key not present' country_dict = col.defaultdict(lambda: 'Clé non présente') country_dict['India'] = 'IN' country_dict['Australia'] = 'AU' country_dict['Brazil'] = 'BR' print(country_dict['Australia']) print(country_dict['Canada'])
Résultat de la sortie
AU Clé non présente