Heim >Backend-Entwicklung >Python-Tutorial >Wie unterscheidet sich Pythons „collections.defaultdict' von einem Standardwörterbuch?
Den Unterschied zwischen Collections.defaultdict und normalen Wörterbüchern verstehen
Traditionelle Wörterbücher in Python lösen eine KeyError-Ausnahme aus, wenn Sie versuchen, einen zugehörigen Wert abzurufen mit einem Schlüssel, der derzeit nicht im Wörterbuch definiert ist. Die Collections.defaultdict-Klasse bietet jedoch eine einzigartige Funktion, die es Ihnen ermöglicht, nicht vorhandene Schlüssel elegant zu verarbeiten. Sein Konstruktor akzeptiert ein Callable, das definiert, wie ein neuer Standardwert erstellt wird, wenn zum ersten Mal auf einen Schlüssel zugegriffen wird.
In den bereitgestellten Beispielen wird das erste Standarddict mit int als Callable initialisiert. Dies bedeutet, dass bei jedem Zugriff auf einen Schlüssel, der nicht im Wörterbuch vorhanden ist, int() aufgerufen wird, um einen Standardwert von 0 zu erstellen. Dieses Beispiel zeigt, wie mit dieser Technik das Vorkommen von Zeichen in einer Zeichenfolge gezählt wird.
Das zweite Standarddikt wird mit der Liste als aufrufbarem Element initialisiert. Beim Zugriff auf einen nicht vorhandenen Schlüssel wird eine leere Liste als Standardwert erstellt. Dieses Beispiel veranschaulicht, wie Schlüssel-Wert-Paare basierend auf gemeinsam genutzten Schlüsseln in Listen gruppiert werden.
Zusammenfassend lässt sich sagen, dass ein defaultdict einen praktischen Mechanismus zum Erstellen und Initialisieren von Standardwerten für Schlüssel bietet, die nicht im Wörterbuch vorhanden sind. Durch die Angabe eines Callables während der Initialisierung können Sie die Regeln definieren, die steuern, wie diese Standardwerte erstellt werden, z. B. die Initialisierung auf 0 oder eine leere Liste wie in den bereitgestellten Beispielen.
Das obige ist der detaillierte Inhalt vonWie unterscheidet sich Pythons „collections.defaultdict' von einem Standardwörterbuch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!