Ich habe eine Liste von Wörterbüchern, z. B .:
%Vor%Alle Wörterbücher haben die gleichen Schlüssel, z.B. a , b , c . Ich möchte ein einzelnes Wörterbuch mit denselben Schlüsseln erstellen, wobei die Werte die Summe der Werte mit den gleichen Schlüsseln aus allen Wörterbüchern in der ursprünglichen Liste sind.
Im obigen Beispiel sollte die Ausgabe also lauten:
%Vor%Was wäre der effizienteste Weg, dies zu tun? Ich habe derzeit:
%Vor%Wenn alle Diktate alle Schlüssel haben, können Sie dies wie folgt tun:
%Vor%[Bearbeiten] Wenn Geschwindigkeit eine große Priorität hat, können Sie auch ~ 20% (wenn auch auf Kosten einiger Lesbarkeit) mit dem folgenden Rasieren:
%Vor%Die Geschwindigkeit hängt von der Größe des Diktats ab. Ich erhalte die folgenden Timings für die ursprüngliche 3-Item-Liste und für verschiedene Größen (erstellt durch Multiplizieren der ursprünglichen Liste mit 10, 100 oder 1000 usw.):
%Vor%(Alle Zeiten für 10.000 Läufe)
So ist es für nur 3 etwas langsamer, aber für größere Listen zwei- bis dreimal so schnell.
Ich bin mir nicht sicher, wie es sich mit den anderen Antworten verhält, aber es gibt immer
%Vor% Counter
ist eine Unterklasse von dict
und kann anstelle von dict
an den meisten Stellen verwendet werden. Bei Bedarf können Sie es einfach wieder in ein dict
Tags und Links python