[Python-Dev] LinkedHashSet/LinkedHashMap equivalents

Nick Coghlan ncoghlan at iinet.net.au
Thu Mar 10 12:49:34 CET 2005


Delaney, Timothy C (Timothy) wrote:
> OTOH, "ordered set" and "ordered dict" implies different things to
> different people - usually "sorted" rather than "the order things were
> put in". Perhaps "temporally-ordered" ;)

OTGH*, I would expect an OrderedDict / OrderedSet to have 'add to the end' 
semantics, but also provide a 'sort()' method so that the ordering could be 
changed at a later date.

IOW, by default the ordering is temporal. Sorting the ordered dict/set changes 
the iteration order for the current contents. Further additions are still added 
in temporal order until such time as the dict/set is sorted again.

The parallels are to using list.append() to build a list, and list.sort() to 
order the current contents (in fact, a simplistic approach could use that exact 
technique to remember the order of keys, at the cost of doubling key storage 
requirements).

Cheers,
Nick.

*OTGH: On the gripping hand :)

-- 
Nick Coghlan   |   ncoghlan at email.com   |   Brisbane, Australia
---------------------------------------------------------------
             http://boredomandlaziness.skystorm.net


More information about the Python-Dev mailing list