[Tutor] Linked List
Jeff Shannon
jeffshannon at gmail.com
Sun Mar 6 10:42:11 CET 2005
On Sat, 5 Mar 2005 06:20:40 -0800 (PST), Shitiz Bansal
<shitizb at yahoo.com> 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
More information about the Tutor
mailing list