Python Language Counting Counting all occurence of all items in an iterable: collections.Counter


from collections import Counter

c = Counter(["a", "b", "c", "d", "a", "b", "a", "c", "d"])
# Out: Counter({'a': 3, 'b': 2, 'c': 2, 'd': 2})
# Out: 3

c[7]     # not in the list (7 occurred 0 times!)
# Out: 0

The collections.Counter can be used for any iterable and counts every occurrence for every element.

Note: One exception is if a dict or another collections.Mapping-like class is given, then it will not count them, rather it creates a Counter with these values:

Counter({"e": 2})
# Out: Counter({"e": 2})

Counter({"e": "e"})        # warning Counter does not verify the values are int
# Out: Counter({"e": "e"})