如何访问队列中的索引

时间:2018-10-31 19:22:04

标签: python indexing queue

我在python中使用队列来推送应该处理的任务(我在python中使用Queue类)我知道队列具有FIFO行为,但用于负载平衡目的我需要将队列中的许多项目(从队列末尾)传输到另一个处理器。

例如,假设我的队列中有100个任务,我想将第80至100个项目转移到另一个处理器,那么我的问题是:是否可以访问队列中的特殊索引(例如第80个索引)?

1 个答案:

答案 0 :(得分:1)

在Python中实现堆栈或队列的最简单方法是使用列表。 如果您的类继承了list类型,则可以使用instance_of_your_queue[79]访问任何元素。

class Queue(list):
    def enqueue(self, obj):
        self.append(obj)
    def dequeue(self):
        return self.pop(0)   
q = Queue()
q.enqueue(0)
q.enqueue(1)
q.enqueue(Task())
q.dequeue()
# return 0
q[1]
#return the Task you created

编辑:哎呀,您编辑了帖子。