Peter Otten <[EMAIL PROTECTED]> wrote: > SA Trygubenko wrote: > > > q.queue used to be a list, and now it is something else? > > > > I was using bisect module to implement min priority queue, as described > > in python library reference (see > > http://www.python.org/doc/2.3.5/lib/bisect-example.html). I have found > > out that in Python 2.4 q.queue does not support "insert" anymore, which > > breaks bisect. Please help! > > class PriorityQueue(Queue.Queue): > def _put(self, item): > bisect.insort(self.queue, item) > def _init(self, maxsize): > self.maxsize = maxsize > self.queue = [] > def _get(self): > return self.queue.pop(0) > > or somesuch might work.
Yep, it should, but using heapq instead of bisect is, I suspect, way better -- there's a recipe on the Cookbook for that (Queue+heapq), and though I (of course;-) prefer the version as edited for the printed (2nd) edition, the online one can also no doubt be useful. Alex -- http://mail.python.org/mailman/listinfo/python-list