ich derzeit ein defaultdict
von Counter
bin mit eindeutig mehr unvorhersehbaren Werten für unberechenbar Schlüssel zählen:Wie verwendet man eine bestimmte Datenstruktur als default_factory für ein Defaultdict?
from collections import defaultdict, Counter
d = defaultdict(Counter)
d['x']['b'] += 1
d['x']['c'] += 1
print(d)
Das gibt mir das erwartete Ergebnis:
defaultdict(<class 'collections.Counter'>, {'x': Counter({'c': 1, 'b': 1})})
Ich brauche jetzt die Struktur der erweitern Werte in der defaultdict
und machen es eine dict
mit zwei Tasten: die vorherige Counter
und eine str
:
mystruct = {
'counter': collections.Counter(),
'name': ''
}
Kann eine spezifische Datenstruktur (wie oben) als default_factory
in defaultdict
verwendet werden? Das erwartete Ergebnis wäre, dass für jeden nicht vorhandenen Schlüssel in defaultdict
ein neuer Schlüssel und Wert erstellt würde, der mit der obigen Struktur initialisiert wurde.
'defaultdict (lambda: {'counter': Zähler(), 'name': ''})'? – jonrsharpe
@jonrsharpe: Das ist direkt vor Ort, ich habe nicht einmal daran gedacht, so zu gehen. Würde es Ihnen etwas ausmachen, das in eine Antwort zu kopieren? – WoJ