mirror of https://github.com/python/cpython
Document how to change OrderedDict update order from first to last.
This commit is contained in:
parent
9e46ef819c
commit
4821ef89d4
|
@ -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
|
||||
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
|
||||
-------------------------
|
||||
|
|
Loading…
Reference in New Issue