mirror of https://github.com/python/cpython
Add another example to the collections module docs.
This commit is contained in:
parent
37c0fe56b9
commit
df453fbb5f
|
@ -818,6 +818,9 @@ semantics pass-in keyword arguments using a regular unordered dictionary.
|
||||||
`Equivalent OrderedDict recipe <http://code.activestate.com/recipes/576693/>`_
|
`Equivalent OrderedDict recipe <http://code.activestate.com/recipes/576693/>`_
|
||||||
that runs on Python 2.4 or later.
|
that runs on Python 2.4 or later.
|
||||||
|
|
||||||
|
:class:`OrderedDict` Examples and Recipes
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Since an ordered dictionary remembers its insertion order, it can be used
|
Since an ordered dictionary remembers its insertion order, it can be used
|
||||||
in conjuction with sorting to make a sorted dictionary::
|
in conjuction with sorting to make a sorted dictionary::
|
||||||
|
|
||||||
|
@ -846,12 +849,29 @@ If a new entry overwrites an existing entry, the
|
||||||
original insertion position is changed and moved to the end::
|
original insertion position is changed and moved to the end::
|
||||||
|
|
||||||
class LastUpdatedOrderedDict(OrderedDict):
|
class LastUpdatedOrderedDict(OrderedDict):
|
||||||
|
|
||||||
'Store items in the order the keys were last added'
|
'Store items in the order the keys were last added'
|
||||||
def __setitem__(self, key, value):
|
def __setitem__(self, key, value):
|
||||||
if key in self:
|
if key in self:
|
||||||
del self[key]
|
del self[key]
|
||||||
OrderedDict.__setitem__(self, key, value)
|
OrderedDict.__setitem__(self, key, value)
|
||||||
|
|
||||||
|
An ordered dictionary can combined with the :class:`Counter` class
|
||||||
|
so that the counter remembers the order elements are first encountered::
|
||||||
|
|
||||||
|
class OrderedCounter(Counter, OrderedDict):
|
||||||
|
'Counter that remembers the order elements are first encountered'
|
||||||
|
|
||||||
|
def __init__(self, iterable=None, **kwds):
|
||||||
|
OrderedDict.__init__(self)
|
||||||
|
Counter.__init__(self, iterable, **kwds)
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return '%s(%r)' % (self.__class__.__name__, OrderedDict(self))
|
||||||
|
|
||||||
|
def __reduce__(self):
|
||||||
|
return self.__class__, (OrderedDict(self),)
|
||||||
|
|
||||||
|
|
||||||
.. _abstract-base-classes:
|
.. _abstract-base-classes:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue