Ich habe mehrere hunderttausend Endpunkt-URLs, für die ich Statistiken generieren möchte. Zum Beispiel habe ich:
%Vor%Ich möchte ein Wörterbuch erstellen, das so aussieht
%Vor%Irgendwelche cleveren Möglichkeiten, dies zu tun?
BEARBEITEN
Ich sollte erwähnen, dass die Wege nicht immer 3 Teile sind. Es könnte geben
/a/b/c/d/e/f/g/h
... etc, usw.
Wenn die Pfade in Ihrem Beispiel alle so aussehen, würde dies funktionieren:
%Vor% Dies verwendet Wörterbuchmethoden wie setdefault()
und get()
um zu vermeiden, dass viele if-Anweisungen geschrieben werden müssen.
Beachten Sie, dass dies nicht funktioniert, wenn ein Pfad mit Unterverzeichnissen auch eigenständig angezeigt werden kann. Dann ist nicht klar, ob der entsprechende Teil von counts
eine Nummer oder ein anderes Wörterbuch enthalten soll. In diesem Fall wäre es wahrscheinlich am besten, sowohl eine Zählung als auch ein Diktat für jeden Knoten zu speichern, indem ein Tupel oder eine benutzerdefinierte Klasse verwendet wird.
Der grundlegende Algorithmus bleibt gleich:
%Vor%Mit einigen schönen Drucken erhalten Sie:
%Vor%Hier ist mein Versuch:
%Vor% Ich habe etwas von der Logik in die Klasse Result
eingepackt, um zu versuchen, den Algorithmus ein wenig klarer zu machen.
Altes Ergebnis, aber immer noch in der Nähe der Spitze in Google, also werde ich aktualisieren: Sie könnten dafür dpath-python verwenden.
%Vor%... und das ist es. Ich verstehe nicht die Mathematik, die Sie verwenden, um diese Werte am Terminus (1, 2, usw.) vorberechnen, aber Sie könnten es vorberechnen und ein Wörterbuch der Pfad-zu-Wert anstelle einer Liste verwenden
%Vor%So etwas würde funktionieren.