Die oben genannten Lösungen eignen sich hervorragend für den Fall, dass Sie eine kleine Anzahl von Counter
s. Wenn Sie jedoch eine große Liste von ihnen haben, ist so etwas viel schöner:
from collections import Counter
A = Counter({'a':1, 'b':2, 'c':3})
B = Counter({'b':3, 'c':4, 'd':5})
C = Counter({'a': 5, 'e':3})
list_of_counts = [A, B, C]
total = sum(list_of_counts, Counter())
print(total)
# Counter({'c': 7, 'a': 6, 'b': 5, 'd': 5, 'e': 3})
Die obige Lösung ist im Wesentlichen eine Summierung der Counter
s von:
total = Counter()
for count in list_of_counts:
total += count
print(total)
# Counter({'c': 7, 'a': 6, 'b': 5, 'd': 5, 'e': 3})
Dies tut dasselbe, aber ich denke, es ist immer hilfreich zu sehen, was es darunter tatsächlich tut.