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
|
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
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
Loading…
Reference in New Issue