In Python ist defaultdict ein spezieller Wörterbuchtyp, der automatisch Standardwerte für Schlüssel festlegen kann, die nicht im Wörterbuch vorhanden sind. Wörterbücher dieses Typs werden im Sammlungsmodul definiert. Es bietet uns ein bequemeres und benutzerfreundlicheres Wörterbuch.
Wir müssen zuerst das Sammlungsmodul importieren, das Defaultdict enthält. Dies können Sie erreichen, indem Sie am Anfang Ihres Python-Codes die folgende Codezeile hinzufügen:
from collections import defaultdict
Das Erstellen eines Defaultdict ist syntaktisch dasselbe wie das Erstellen eines Python-Wörterbuchs. Wir müssen nur den Typ defaultdict als Parameter des Konstruktors verwenden. Wenn wir beispielsweise ein Standarddict erstellen möchten, das Ganzzahlen speichert, können wir den folgenden Code verwenden:
int_dict = defaultdict(int)
Wenn wir Zeichenfolgen im Standarddict speichern möchten, können wir den folgenden Code verwenden:
str_dict = defaultdict(str)
In beiden Fällen bestehen wir Der defaultdict-Konstruktor übergibt den Typ, um eine neue defaultdict-Instanz zu definieren. Dieser Typ wird für alle Schlüssel von defaultdict auf den entsprechenden Standardwert gesetzt.
Wenn versucht wird, auf einen Schlüssel von defaultdict zuzugreifen und der Schlüssel nicht vorhanden ist, wird automatisch der Standardwert festgelegt, der dem an den Konstruktor übergebenen Typ entspricht. Im folgenden Code verwenden wir beispielsweise defaultdict, um das Alter einer Person zu speichern und setzen den Standardwert auf 0:
age_dict = defaultdict(int) age_dict['alice'] = 25 age_dict['bob'] = 30 age_dict['charlie'] print(age_dict)
Die Ausgabe lautet {‘alice’: 25, ‘bob’: 30, ‘charlie’ : 0}, wenn „charlie“ nicht im Standardwörterbuch enthalten ist, wird es automatisch mit dem Standardwert 0 gefüllt.
In diesem Beispiel haben wir zwei Schlüssel zum Standardwörterbuch hinzugefügt, „alice“ und „bob“, und einen anderen Schlüssel, „charlie“, direkt abgefragt. Da „charlie“ nicht im Wörterbuch vorhanden ist, setzt defaultdict den diesem Schlüssel entsprechenden Wert automatisch auf den Standardwert des entsprechenden Typs, der im Konstruktor übergeben wurde (in diesem Fall die ganze Zahl 0). Wir können sehen, dass dies tatsächlich das erwartete Ergebnis ist.
Wir können auch einen Standardwert definieren, indem wir der Defaultdict-Funktion eine Funktion als Standardwert bereitstellen. Diese Funktion wird aufgerufen, wenn ein Schlüssel im Wörterbuch fehlt und gibt den gewünschten Standardwert zurück. Beispielsweise können wir mithilfe des folgenden Codes eine Funktion definieren, die einen Schlüssel aus einem Wörterbuch als Standardwert übernimmt:
def return_key(): return "unknown" key_dict = defaultdict(return_key) key_dict['apple'] = 'fruit' print(key_dict['pear']) print(key_dict['banana'])
Die Ausgabe lautet:
unknown
unknown
In diesem Beispiel haben wir eine Funktion definiert return_key() , was einfach „unbekannt“ zurückgibt. Dann erstellen wir ein Standardwörterbuch und definieren es mit dieser Funktion als Standardwert. Wenn wir versuchen, auf die Schlüssel „pear“ und „banana“ zuzugreifen, erhalten wir den Standardwert „unknown“. Als wir jedoch den Schlüssel „Apfel“ zum Wörterbuch hinzufügten, erhielten wir „Frucht“.
Das obige ist der detaillierte Inhalt vonAnwendung des Standardwertwörterbuchs in Python und Verwendung von defaultdict. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!