skip to navigation
skip to content

Counter 1.0.0

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
    >>> words = re.findall('\w+', open('hamlet.txt').read().lower())
    >>> 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})
    

About

Counter by Raymond Hettinger – 2009
Copyright© 2009 - Raymond Hettinger
This software is released under terms of MIT license: http://opensource.org/licenses/mit-license.php
 
File Type Py Version Uploaded on Size
Counter-1.0.0.tar.gz (md5) Source 2012-09-19 5KB