Forest wrote: > On Tue, March 3, 2009 11:20 am, Forest wrote: >> Okay, but I'd also like a convenient and fast way to find the oldest entry >> in an OrderedDict, which I think I'd need for an LRU cache. Skimming the >> current patch (od7.diff), I didn't notice one. Perhaps I simply missed >> something. Shouldn't popitem() allow the caller to choose which end from >> which to pop? > > Thinking it through a bit more, and LRU cache would actually need to > access the oldest item before knowing whether to remove it. Besides, > popitem() should probably retain the signature of dict.popitem(). I > therefore retract my suggestion about popitem(). > > Still, I think an LRU cache would be a very common use case for an ordered > dict. The current implementation already uses a list to keep track of > order, which makes accessing the oldest key a simple matter of exposing > it. Perhaps a new method like getfirst() would be worth while here? But you must decide if what you want really does LRU -- does accessing the oldest entry make it the most recent entry? --Scott David Daniels Scott.Daniels at Acm.Org
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4