Question

I would like a container to do the following in python 2-7:

I need that container to behave like a queue: first in first out, I append to it objects and then get them in the same order "from the other end".

However I also need to be able to read up to 5 objects from the beginning of the queue without popping them, then if I don't need them anymore I will pop them from the queue.

I am new to python and I need to know is there any container that would act as such? Or any easy simple implementation for it?

Était-ce utile?

La solution

I'm fairly certain you want a deque from the collections module. It includes (among other things) append, pop, pop_left, and rotate methods, and also supports indexing. Indexing slows toward the middle, but is fast at the ends.

Autres conseils

See this module from the standard library. It should provide you with everything you want.

http://my.safaribooksonline.com/book/programming/python/9780132778633/data-structures/ch02lev1sec5

import Queue

q = Queue.Queue()

for i in range(5):
    q.put(i)

while not q.empty():
    print q.get(),
print
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top