Document how to change OrderedDict update order from first to last.

This commit is contained in:
Raymond Hettinger 2010-07-31 10:14:41 +00:00
parent 9e46ef819c
commit 4821ef89d4
1 changed files with 12 additions and 0 deletions

View File

@ -938,6 +938,18 @@ The new sorted dictionaries maintain their sort order when entries
are deleted. But when new keys are added, the keys are appended are deleted. But when new keys are added, the keys are appended
to the end and the sort is not maintained. to the end and the sort is not maintained.
It is also straight-forward to create an ordered dictionary variant
that the remembers the order the keys were *last* inserted.
If a new entry overwrites an existing entry, the
original insertion position is changed and moved to the end::
class LastUpdatedOrderedDict(OrderedDict):
'Store items is the order the keys were last added'
def __setitem__(self, key, value):
if key in self:
del self[key]
OrderedDict.__setitem__(self, key, value)
:class:`UserDict` objects :class:`UserDict` objects
------------------------- -------------------------