Why are there no ordered dictionaries?
cito at online.de
Wed Nov 23 22:05:05 CET 2005
Alex Martelli schrieb:
> I detest and abhor almost-sequences which can't be sliced (I consider
> that a defect of collections.deque). If the ordered dictionary records
> by its sequencing the time order of key insertion, being able to ask for
> "the last 5 keys entered" or "the first 3 keys entered" seem to me to be
> perfectly natural use cases, and most naturally accomplished by slicing
> of course, d[-5:] and d[:3] respectively.
I agree. A use case was requested: Say your dictionary holds form
fields, and you know the last field is always a hidden field you wont to
ignore in your output, or your dictionary holds attributes of a
database, and you don't want to print the first attribute which is
always some kind of uninteresting OID, then you would write
"for field in d[1:]" or "for field in d[:-1]".
(Otherwise, you would have to write "for field in d.keys()[1:]" etc.)
More information about the Python-list