将队列重定向到优先级队列

时间:2017-03-13 02:04:50

标签: python-3.x queue priority-queue

嗨,我是Python新手,请原谅我,如果我要求太多。我正在使用队列模块来创建这些。我要做的是将一个字符串放入一个队列,然后根据子字符串将其重定向到另外两个队列。

例如我的代码是:

import queue

firstQueue = queue.Queue()
secondQueue = queue.PriorityQueue()
thirdQueue = queue.PriorityQueue()

var1 = "Hello World!"
var2 = "Hello Stack!"
var3 = "Hello Wally!"

firstQueue.put(var1)
firstQueue.put(var2)
firstQueue.put(var3)

此时我想将firstQueue重定向到secondQueue,如果第7个字符以'W'开头,在这种情况下'World / Wally',其他任何东西都是第三个(假设所有字符串放入第一个是相同的)长度)。非常感谢任何帮助和建议!

1 个答案:

答案 0 :(得分:0)

使用循环遍历第一个队列中的每个元素并检查条件并将其放入第二个队列中,如下所示:

while not firstQueue.empty():
    element = firstQueue.get()
    if(element[6] == 'W'):
        secondQueue.put(element)

while not secondQueue.empty():
    print(secondQueue.get())