mirror of https://github.com/python/cpython.git
Add usage notes for collections.Counter()
This commit is contained in:
parent
1baed19b63
commit
22f188512b
|
@ -271,6 +271,33 @@ counts, but the output will exclude results with counts of zero or less.
|
||||||
>>> c | d # union: max(c[x], d[x])
|
>>> c | d # union: max(c[x], d[x])
|
||||||
Counter({'a': 3, 'b': 2})
|
Counter({'a': 3, 'b': 2})
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Counters were primarily designed to work with positive integers to represent
|
||||||
|
running counts; however, care was taken to not unnecessarily preclude use
|
||||||
|
cases needing other types or negative values. To help with those use cases,
|
||||||
|
this section documents the minimum range and type restrictions.
|
||||||
|
|
||||||
|
* The :class:`Counter` class itself is a dictionary subclass with no
|
||||||
|
restrictions on its keys and values. The values are intended to be numbers
|
||||||
|
representing counts, but you *could* store anything in the value field.
|
||||||
|
|
||||||
|
* The :meth:`most_common` method requires only that the values be orderable.
|
||||||
|
|
||||||
|
* For in-place operations such as ``c[key] += 1``, the value type need only
|
||||||
|
support addition and subtraction. So fractions, floats, and decimals would
|
||||||
|
work and negative values are supported. The same is also true for
|
||||||
|
:meth:`update` and :meth:`subtract` which allow negative and zero values
|
||||||
|
for both inputs and outputs.
|
||||||
|
|
||||||
|
* The multiset methods are designed only for use cases with positive values.
|
||||||
|
The inputs may be negative or zero, but only outputs with positive values
|
||||||
|
are created. There are no type restrictions, but the value type needs to
|
||||||
|
support support addition, subtraction, and comparison.
|
||||||
|
|
||||||
|
* The :meth:`elements` method requires integer counts. It ignores zero and
|
||||||
|
negative counts.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
* `Counter class <http://code.activestate.com/recipes/576611/>`_
|
* `Counter class <http://code.activestate.com/recipes/576611/>`_
|
||||||
|
|
Loading…
Reference in New Issue