Python Counter Example

This Python example uses the Counter object from the collections module. It counts frequencies of values.
Counter. Often in programs we want to record the number of uses, hits, or instances of something. We collect (count) frequencies.
With Counter, from the collections module, we can do this with minimal set-up code. We access the Counter like a list, but can count strings or numbers.
First example. Here we import Counter from the collections module. We then use range loops to count numbers in the Counter. The counts accumulate.

Display: We can display values by accessing each key, or we can display the entire counter by passing it to the print method.

Python program that uses Counter from collections import Counter # Create new counter. freqs = Counter() # Add to the counter based on ranges of numbers. for i in range(0, 10): freqs[i] += 1 for i in range(0, 5): freqs[i] += 1 for i in range(0, 2): freqs[i] += 1 # Display counter contents. for i in range(0, 10): print(f"Value at {i} is {freqs[i]}") # The counter can be displayed directly. print(freqs) Output Value at 0 is 3 Value at 1 is 3 Value at 2 is 2 Value at 3 is 2 Value at 4 is 2 Value at 5 is 1 Value at 6 is 1 Value at 7 is 1 Value at 8 is 1 Value at 9 is 1 Counter({0: 3, 1: 3, 2: 2, 3: 2, 4: 2, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1})
Strings. We can do more things with a counter than just increment by one. We can decrement. Or we can assign values. We can also use string keys in the counter.Strings
Python program that uses Counter with strings from collections import Counter freqs = Counter() print(freqs) # Three birds are born. freqs["bird"] += 1 freqs["bird"] += 1 freqs["bird"] += 1 print(freqs) # One bird was killed. freqs["bird"] -= 1 print(freqs) # Four birds were counted. freqs["bird"] = 4 print(freqs) Output Counter() Counter({'bird': 3}) Counter({'bird': 2}) Counter({'bird': 4})
A summary. The collections module in Python contains useful collections like Counter. For recording the frequencies of numbers and strings (and other things) we can use Counter.
A major benefit. For Counter, a major benefit is that less initialization logic is needed. So we can spend more attention on counting rather than dealing with a dictionary.Dictionary
© 2007-2019 Sam Allen. Every person is special and unique. Send bug reports to info@dotnetperls.com.
Home
Dot Net Perls