Eintauchen in die Unterscheidung: Collections.defaultdict vs. Ordinary Dict
In Python unterscheidet sich das Standardwörterbuch (collections.defaultdict) von a reguläres Wörterbuch in entscheidender Weise. Während ein Standard-Dikt einen KeyError auslöst, wenn auf einen nicht vorhandenen Schlüssel zugegriffen wird, erstellt ein Standard-Dikt automatisch das fehlende Element, indem es eine angegebene Funktion aufruft.
Die Beispiele verstehen
Lassen Sie uns Sehen Sie sich die bereitgestellten Beispiele an:
d = defaultdict(int)
Hier ist int() die Standardfunktion, die die initialisiert fehlender Schlüssel mit einem ganzzahligen Wert (Standardwert 0).
for k in s: d[k] += 1
Diese Schleife durchläuft jedes Zeichen (k) in der Zeichenfolge s und erhöht die entsprechende im Standarddict gespeicherte Anzahl.
d.items() dict_items([('m', 1), ('i', 4), ('s', 4), ('p', 2)])
Als Ergebnis erhalten wir ein Wörterbuch mit den Zeichenhäufigkeiten.
Im zweiten Beispiel:
d = defaultdict(list)
list() ist die Standardfunktion, die leere Listen als Standard für fehlende Schlüssel erstellt.
for k, v in s: d[k].append(v)
Diese Schleife paart Schlüssel und Werte aus den Listen und hängt sie an Werte in die Liste des entsprechenden Schlüssels einfügen.
d.items() [('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
Das Ergebnis ist ein Wörterbuch, in dem Schlüssel Farben und Werte Listen ihrer entsprechenden Werte aus dem Original sind Liste.
Das obige ist der detaillierte Inhalt vonPython-Wörterbücher: Wann sollten Sie „collections.defaultdict' verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!