Heim > Backend-Entwicklung > Python-Tutorial > Anwendung des Standardwertwörterbuchs in Python und Verwendung von defaultdict

Anwendung des Standardwertwörterbuchs in Python und Verwendung von defaultdict

王林
Freigeben: 2023-04-23 11:52:07
nach vorne
1246 Leute haben es durchsucht

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.

1. Defaultdict importieren

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
Nach dem Login kopieren

2. Erstellen Sie ein 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)
Nach dem Login kopieren

Wenn wir Zeichenfolgen im Standarddict speichern möchten, können wir den folgenden Code verwenden:

str_dict = defaultdict(str)
Nach dem Login kopieren

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.

3. Verwendung von defaultdict

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)
Nach dem Login kopieren

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.

4. Defaultdict-Standardwert hinzufügen

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'])
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage