On Sat, 5 Mar 2005 06:20:40 -0800 (PST), Shitiz Bansal <[EMAIL PROTECTED]> wrote:
> In order to explain wat my problem is, here is an > example code. Its not exactly what I am doing, I am > using multiple threads and a rather complicated code > so try and understand the sense rather than the code > itself. > > >>> myls=range(50) > >>> for i in myls: > print i > if i==20: > myls.insert(5,5) > > The point is, the list(both size and elements) is > changing even as it is being operated upon. My first thought was to say, "Use a queue.Queue." But it appears that you need to be able to do more than just add items at the end of the queue. I suspect that what you need is along the lines of a "priority queue". That is, something that works approximately like a queue, but when you add items to it, you also specify a priority for them. Then, when you retrieve an item from the queue, what you get is not necessarily the first-inserted item, but rather the item with highest priority. You might want to check the Cookbook to see if there's a priority queue recipe there. If not, I suspect that Google can be convinced to yield something... Jeff Shannon _______________________________________________ Tutor maillist - [email protected] http://mail.python.org/mailman/listinfo/tutor
