English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In Python gibt es ein Container namens Dictionary. In einem Dictionary können wir Schlüssel zu ihren Werten zuordnen. Mit einem Dictionary kann man in konstanter Zeit auf Werte zugreifen. Aber wenn ein angegebener Schlüssel nicht existiert, könnte es zu einigen Fehlern kommen.
In diesem Abschnitt werden wir sehen, wie wir solche Fehler behandeln. Wenn wir versuchen, auf einen verlorenen Schlüssel zuzugreifen, könnte solcherart ein Fehler zurückgegeben werden.
country_dict = {'India': 'IN', 'Australia': 'AU', 'Brazil': 'BR'} print(country_dict['Australia']) print(country_dict['Canada']) # Dies wird einen Fehler zurückgeben
Ausgaberesultat
AU --------------------------------------------------------------------------- KeyErrorTraceback (most recent call last) <ipython-Eingabe-2-a91092e7ee85> in <module>() 2 3 print(country_dict['Australia']) ----> 4 print(country_dict['Canada'])# Dies wird einen Fehler zurückgeben KeyError: 'Canada'
get()
Methodenbehandlung von KeyErrorWir können den GET-Method verwenden, um den Schlüssel zu überprüfen. Dieser Method hat zwei Parameter. Der erste ist der Schlüssel, der zweite ist der Standardwert. Wenn der Schlüssel gefunden wird, wird der mit dem Schlüssel verknüpfte Wert zurückgegeben, aber wenn der Schlüssel nicht existiert, wird der Standardwert zurückgegeben, der als zweiter Parameter übergeben wird.
country_dict = {'India': 'IN', 'Australia': 'AU', 'Brazil': 'BR'} print(country_dict.get('Australia', 'Nicht gefunden')) print(country_dict.get('Canada', 'Nicht gefunden'))
Ausgaberesultat
AU Nicht gefunden
setdefault()
Methodenbehandlung von KeyErrordiesersetdefault()
Methode ähnelt derget()
Methode. Sie benötigt auch zwei Parameter, z.B.get()
。Der erste ist der Schlüssel, der zweite ist der Standardwert. Der einzige Unterschied ist, dass, wenn ein Schlüssel fehlt, ein neuer Schlüssel mit dem Standardwert hinzugefügt wird.
country_dict = {'India': 'IN', 'Australia': 'AU', 'Brazil': 'BR'} country_dict.setdefault('Canada', 'Nicht vorhanden') #Setze einen Standardwert für Kanada print(country_dict['Australia']) print(country_dict['Canada'])
Ausgaberesultat
AU Nicht vorhanden
defaultdict ist ein Behälter. Er befindet sich im Modul collections von Python. defaultdict verwendet den Standard-Factory-Parameter. Am Anfang ist der Standard-Factory auf 0 (Ganze Zahl) gesetzt. Wenn ein Schlüssel nicht existiert, gibt es den Wert des Standard-Factory zurück.
Wir müssen nicht immer wieder Methoden angeben, daher bietet es dem Dictionary-Objekt schnelleren Zugriff.
import collections as col #set the default factory with the string 'key not present' country_dict = col.defaultdict(lambda: 'Schlüssel nicht vorhanden') country_dict['India'] = 'IN' country_dict['Australia'] = 'AU' country_dict['Brazil'] = 'BR' print(country_dict['Australia']) print(country_dict['Canada'])
Ausgaberesultat
AU Schlüssel nicht vorhanden