如何在队列python 3的前面打印元素?

时间:2018-11-10 00:29:14

标签: python python-3.x syntax queue python-collections


    import queue
    q = queue.Queue()
    q.put(5)
    q.put(7)

print(q.get())删除队列前面的元素。我如何打印此元素而不将其删除?有可能这样做吗?

1 个答案:

答案 0 :(得分:-1)

队列对象具有collections.deque对象属性。有关效率,请参阅有关访问双端队列元素的Python文档。如果您需要随机访问元素,则列表可能是一个更好的用例。

import queue

if __name__ == "__main__":
    q = queue.Queue()
    q.put(5)
    q.put(7)

    """
    dir() is helpful if you don't want to read the documentation
    and just want a quick reminder of what attributes are in your object
    It shows us there is an attribute named queue in the Queue class
    """
    for attr in dir(q):
        print(attr)

    #Print first element in queue
    print("\nLooking at the first element")
    print(q.queue[0])

    print("\nGetting the first element")
    print(q.get())

    print("\nLooking again at the first element")
    print(q.queue[0])

注意:我已经缩写了dir迭代器的输出

>>>
put
put_nowait
qsize
queue
task_done
unfinished_tasks

Looking at the first element
5

Getting the first element
5

Looking again at the first element
7
>>>