Re: [Python-Dev] The current dict is not an "OrderedDict"

2017年11月07日 11:53:31 -0800

[Peter Ludemann]
> Does it matter whether the dict order after pop/delete is explicitly
> specified, or just specified that it's deterministic?
Any behavior whatsoever becomes essential after it becomes known ;-)
For example, dicts as currently ordered easily support LRU (least
recently used) purging like so:
On access:
 result = d.pop(key)
 d[key] = result
This moves `key` from wherever it was to the _most_ recently used position.
To purge the `numtopurge` least recently used keys (since traversing
the dict is always from least-recently to most-recently added):
 topurge = tuple(itertools.islice(d, numtopurge))
 for key in topurge:
 del d[key]
Is it worth guaranteeing that will always "work" (as intended)? Not
to me, but I do have code that relies on it now - and we can count on
someone else saying it's utterly crucial ;-)
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to