从队列

时间:2016-07-26 12:15:36

标签: python queue

我看到的一切都是关于列表的,但这是关于events = queue.queue() 这是一个包含我想要提取的对象的队列,但是如何从该队列中获取最后N个元素呢?

2 个答案:

答案 0 :(得分:3)

根据定义,你不能。

你可以做的是使用循环或理解来get 第一个(你不能getqueue结束N个元素:

N = 2
first_N_elements = [my_queue.get() for _ in range(N)]

答案 1 :(得分:0)

如果您是多线程,“该队列中的最后N个元素”未定义且问题没有意义。

如果没有多线程,则取决于您是否关心其他元素(不是最后一个N)。

如果你不这样做:

for i in range(events.qsize() - N):
    events.get()

之后,获得N个项目

如果您不想丢弃其他项目,则只需将所有内容移动到不同的数据结构(如列表)。队列的重点是以某种顺序获取事物。