Raymond Hettinger wrote:
[Paul Rubin]
Ehh, I guess I'm not surprised at the slowdown and extra complexity
from the second dict.  Oh well.  If the module really turns out to be
really used a lot, another (messy) approach would be to write a C
extension that uses a doubly linked list some day.

That seems like an ideal implementation to me.

  O(1): appending, popping, searching, and deletion
  O(n): traversal

Raymond

Sometimes, it's useful to be able to obtain the data in the sorted sequence.

You might consider adding functionality like:

    def seqItems(self):
'''To return the items, sorted by key. ''' return [self[k] for k in self.seqKeys()]

    def seqKeys(self):
        ''' To return the keys sorted.  '''
        k= self.keys()
        k.sort()
        return k

    def seqValues(self):
''' To return the values, with their keys, sorted by value. ''' v= [(it[1], it[0]) for it in self.items()]
        v.sort()
        return v

Colin W.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to