Jaki jest najlepszy sposób na ustalenie sumy wszystkich zliczeń w obiekcie collections.Counter?Suma wszystkich zliczeń w kolekcjach. Konto
Próbowałem:
sum(Counter([1,2,3,4,5,1,2,1,6]))
ale to daje 21 zamiast 9?
Jaki jest najlepszy sposób na ustalenie sumy wszystkich zliczeń w obiekcie collections.Counter?Suma wszystkich zliczeń w kolekcjach. Konto
Próbowałem:
sum(Counter([1,2,3,4,5,1,2,1,6]))
ale to daje 21 zamiast 9?
Kod masz dodaje klucze (czyli unikalne wartości w liście: 1+2+3+4+5+6=21
).
Aby dodać liczniki, należy:
In [4]: sum(Counter([1,2,3,4,5,1,2,1,6]).values())
Out[4]: 9
Ten idiom jest wymienione w documentation, w ramach "wspólnych wzorców".
Suma wartości:
sum(some_counter.values())
Demo:
>>> from collections import Counter
>>> c = Counter([1,2,3,4,5,1,2,1,6])
>>> sum(c.values())
9
sum(Counter([1,2,3,4,5,1,2,1,6]).values())
+1, gdzie mogę znaleźć ten wzór i inne przydatne wzory, które mogą mnie zainteresować. – cjbarth