Сумма всех счетов в коллекциях. Каков наилучший способ установить сумму всех подсчетов в объекте collections.Counter? Я пробовал: sum(Counter([1,2,3,4,5,1,2,1,6])) но это дает 21 вместо 9? Ответ 1 В коде, который вы добавили ключи (т.е. уникальные значения в списке: 1+2+3+4+5+6=21). Чтобы добавить подсчет, используйте: In [4]: sum(Counter([1,2,3,4,5,1,2,1,6]).values()) Out[4]: 9 Эта идиома упоминается в документации в разделе "Общие шаблоны". Ответ 2 Суммируйте значения: sum(some_counter.values()) Демо: >>> from collections import Counter >>> c = Counter([1,2,3,4,5,1,2,1,6]) >>> sum(c.values()) 9 Ответ 3 sum(Counter([1,2,3,4,5,1,2,1,6]).values()) Ответ 4 Вы также можете использовать: len(Counter([1,2,3,4,5,1,2,1,6]).elements())
Ответ 1 В коде, который вы добавили ключи (т.е. уникальные значения в списке: 1+2+3+4+5+6=21). Чтобы добавить подсчет, используйте: In [4]: sum(Counter([1,2,3,4,5,1,2,1,6]).values()) Out[4]: 9 Эта идиома упоминается в документации в разделе "Общие шаблоны".
Ответ 2 Суммируйте значения: sum(some_counter.values()) Демо: >>> from collections import Counter >>> c = Counter([1,2,3,4,5,1,2,1,6]) >>> sum(c.values()) 9