A Counter is a container that keeps track of how many times equivalent values are added. It can be used to implement the same algorithms for which other languages commonly use bag or multiset data structures.
In [1]:
import collections
print(collections.Counter(['a', 'b', 'c', 'd', 'a', 'c']))
In [2]:
c = collections.Counter()
print('initilize ', c)
c.update('abcdaab')
print('sequece', c)
c.update({'a':1, 'd':5})
print('Dict :',c)
In [4]:
c = collections.Counter('abcdaab')
for letter in 'abdce':
print('{}:{}'.format(letter, c[letter]))
In [6]:
c = collections.Counter('extremely')
c['z'] = 0
print(c)
print(list(c.elements()))
In [7]:
import collections
c1 = collections.Counter(['a','b', 'c', 'a', 'b', 'b'])
c2 = collections.Counter('alphabet')
print('C1:', c1)
print('C2:', c2)
print('\n Combined counts')
print(c1+c2)
print('\n subtractions')
print(c1-c2)
print('\n Interaction')
print(c1 & c2)
print('\n union')
print(c1 | c2)