Counter package defines the "counter.Counter" class similar to bags or multisets in other languages.

## Introduction

Counter package defines the counter.Counter class similar to bags or multisets in other languages. This package is created from Raymond Hettinger recipe: http://code.activestate.com/recipes/576611/

## Installation

To install Foundations from the Python Package Index you can issue this command in a shell:

```pip install Counter
```

or this alternative command:

```easy_install Counter
```

Alternatively, if you want to directly install from Github source repository:

```git clone git://github.com/KelSolaar/Counter.git
python setup.py install
```

## Usage

For precise usage examples, please refer to the original recipe: http://code.activestate.com/recipes/576611/ and Python documentation: http://docs.python.org/library/collections.html#collections.Counter

• Tally occurrences of words in a list:

```>>> cnt = Counter()
>>> for word in ['red', 'blue', 'red', 'green', 'blue', 'blue']:
...     cnt[word] += 1
>>> cnt
Counter({'blue': 3, 'red': 2, 'green': 1})
```
• Find the ten most common words in Hamlet:

```>>> import re
>>> Counter(hamlet_words).most_common(10)
[('the', 1143), ('and', 966), ('to', 762), ('of', 669), ('i', 631),
('you', 554),  ('a', 546), ('my', 514), ('hamlet', 471), ('in', 451)]
```
• Multiset examples:

```>>> c = Counter(a=3, b=1)
>>> d = Counter(a=1, b=2)
>>> c + d                           # add two counters together:  c[x] + d[x]
Counter({'a': 4, 'b': 3})
>>> c - d                           # subtract (keeping only positive counts)
Counter({'a': 2})
>>> c & d                           # intersection:  min(c[x], d[x])
Counter({'a': 1, 'b': 1})
>>> c | d                           # union:  max(c[x], d[x])
Counter({'a': 3, 'b': 2})
```

Counter by Raymond Hettinger – 2009