Python defaultDict

Python defaultDict

Python bietet viele integrierte Datenstrukturen wie Listen, Tupel und Wörterbücher, um Daten effizient zu speichern und zu verwalten. Wörterbücher bieten eine einfache Möglichkeit, Daten als Schlüsselwertpaare zu speichern. Ein Schlüssel wirkt als Index und wird zum Abrufen von Daten verwendet. Schlüssel sollten im gesamten Wörterbuch einzigartig und unveränderlich sein. Tasten sind meistens Saiten und Ganzzahlen, obwohl der Wert eines Schlüssels von jedem Typ sein könnte, z. In der Zwischenzeit kann ein Wörterbuch eine Sammlung wie eine Liste, ein Tupel oder eine andere Art von Wörterbuch enthalten. Ein Wörterbuch in Python wird unter Verwendung eines Paares von lockigen Klammern erstellt, bei denen jedes Schlüsselwertpaar durch ein Komma getrennt wird.

Was ist, wenn Sie versuchen, auf einen bestimmten Schlüssel in einem Wörterbuch zuzugreifen oder zu ändern, das nicht vorhanden ist? Nun, in diesem Fall wird der Python -Dolmetscher den Fehler „KeyError“ erhöhen und die Ausführung des Programms beenden.

Sehen wir uns ein Beispiel für den Fehler "KeyError" an.

#ein Wörterbuch erstellen
my_dict = 1: "Hallo", 2: "Willkommen", 3: "LinuxHint"
#Accessing eines Schlüssels, der nicht existiert
my_dict [4]

Ausgang

Um diesen Fehler zu bewältigen, liefert Python den Standarddict -Typ, eine Wörterbuchklasse, die im Sammlungsmodul zu finden ist. Dieser Artikel deckt die Python -Standarddictict im Detail ab.

Erläuterung und Beispiele für Standarddict

Das Standarddict ist die Alternative des Python -Wörterbuchs. Es gibt Wörterbuch -Objekte zurück. Der Standarddict ist eine Unterklasse des Diktats. Bei einem fehlenden Schlüssel, anstatt einen "KeyError" -Fehler zu erhöhen, wird der Standardwert für den nicht existierenden Schlüssel bereitgestellt. Die Syntax von Standarddict ist wie folgt:

Standarddict (default_factory)

Die Standarddict -Funktion nimmt den Parameter default_factory als Argument an. Die Funktion Standard_factory gibt den Standardwert für den definierten Standarddict -Wert zurück. Wenn wir versuchen, auf einen fehlenden Schlüssel zuzugreifen oder zu ändern, gibt die Funktion default_factory den Standardwert als Ergebnis zurück. Wenn die Funktion default_factory fehlt, erhöht der Standarddic einen "KeyError" -Fehler, wenn fehlende Schlüssel fehlenden Tasten vorliegen.

Zunächst werden wir in unserem Python -Skript eine Standarddicke implementieren, um sowohl vorhandene als auch fehlende Schlüssel zugreifen.

#Port des Standarddikts aus dem Sammelmodul
Aus den Sammlungen importieren Sie Standarddict
#Definieren einer Funktion, um den Standardwert zurückzugeben
def my_func ():
print ("Der Schlüssel ist nicht definiert")
#Ein DefualtDict
#Die my_func () als Argument für Standarddict
my_dict = defaultDict (my_func)
#Definition der Schlüssel und Werte
my_dict [1] = "Hallo"
my_dict [2] = "Willkommen"
my_dict [3] = "LinuxHint"
#Zugriff auf die Werte mit Schlüsseln
print (my_dict [1])
print (my_dict [2])
print (my_dict [3])
#Zugriff auf den fehlenden oder nicht definierten Schlüssel
my_dict [4]

Ausgang

Der [4] ist der fehlende Schlüssel. Anstatt einen "KeyError" -Fehler zu erhöhen, ruft er die Funktion default_factory auf, die den Standardwert zurückgibt.


Eine Lambda -Funktion, die als anonyme Funktion bezeichnet wird, kann auch als Parameter default_factory verwendet werden.

Als nächstes werden wir eine Lambda -Funktion implementieren und sie als Argument an den Standarddict übergeben.

#Port des Standarddikts aus dem Sammelmodul
Aus den Sammlungen importieren Sie Standarddict
#Ein DefualtDict
#Die Lamnda -Funktion als Argument für Standarddiction
my_dict = defaultDict (Lambda: "Der Schlüssel ist nicht definiert")
#Definition der Schlüssel und Werte
my_dict [1] = "Hallo"
my_dict [2] = "Willkommen"
my_dict [3] = "LinuxHint"
#Zugriff auf die Werte mit Schlüsseln
print (my_dict [1])
print (my_dict [2])
print (my_dict [3])
#Zugriff auf den fehlenden oder nicht definierten Schlüssel
print (my_dict [4])

Der Standarddict -Aufruf ruft die Standard -Datei auf, um den Standardwert anzugeben, aber die Funktion __ming () __ liefert den Standardwert für den Standardwert. Die Funktion __ming () __ ist eine integrierte Funktion in Python, die den Parameter default_factory als Argument nimmt. Wenn der Parameter von Default_Factory nicht definiert ist, erhöht die Funktion __ming () __ den Fehler "KeyError".

Hier werden wir die Funktion __ming () __ in unserem Python -Skript verwenden.

#Port des Standarddikts aus dem Sammelmodul
Aus den Sammlungen importieren Sie Standarddict
#Definieren einer Funktion, um den Standardwert zurückzugeben
def my_func ():
print ("Der Schlüssel ist nicht definiert")
#Ein DefualtDict
#Die my_func () als Argument für Standarddict
my_dict = defaultDict (my_func)
#Definition der Schlüssel und Werte
my_dict [1] = "LinuxHint"
#Zugriff auf die Werte mit Schlüsseln
print (my_dict [1])
#Zugriff auf den fehlenden oder nicht definierten Schlüssel
my_dict.__ming __ (2)

Ausgang

Die Liste und die Int -Klassen können auch als Standardparameter mit Standarddict verwendet werden.

Liste als Standard -Parameter default_factory

Das Standarddict wird mit den Listenwerten erstellt, wenn die Listenklasse ein Parameter default_factory übergeben wird.

#Port des Standarddikts aus dem Sammelmodul
Aus den Sammlungen importieren Sie Standarddict
# Definieren eines Standarddikts
# Listenklasse als Standard -Faktor
my_dict = defaultDict (Liste)
für i in Reichweite (7):
my_dict [i].anhängen (i)
#printing die Werte
print (my_dict)

Ausgang

Die Ausgabe zeigt die Werte in der Liste. Wie Sie sehen können, wurde ein StandardDict, das den Schlüssel und Werte enthält.

Ganzzahlen als Parameter default_factory

Wenn wir die Int -Klasse als Parameter default_factory übergeben. Wir erstellen eine Liste von Ganzzahlen und speichern sie dann im StandardDict.

#Port des Standarddikts aus dem Sammelmodul
Aus den Sammlungen importieren Sie Standarddict
# Definieren eines Standarddikts
# Int -Klasse als Standard -Faktor
my_dict = defaultDict (int)
#eine Liste von Ganzzahlen erstellen
my_list = [1,2,3]
Denn ich in my_list:
my_dict [i]+= 1
#printing die Werte
print (my_dict)

Ausgang

In der angegebenen Ausgabe sind die Ganzzahlwerte vor dem Dickdarm () Tasten, während die Ganzzahlwerte nach dem Dickdarm Werte sind.

Abschluss

Das DafualtDict ist eine im Sammlungsmodul vorhandene Wörterbuchklasse. Es funktioniert wie ein Python -Wörterbuch, erhöht jedoch keinen „KeyError“, wenn ein Schlüssel nicht gefunden wird. Dieser Artikel erläutert das Standarddikt ausführlich mit verschiedenen Beispielen.