2017-03-13 2 views
0

Salut, je suis nouveau à Python alors pardonnez-moi si je demande trop. J'utilise le module de file d'attente pour les créer. Ce que j'essaie de faire est de placer une chaîne dans la file d'attente, puis de la rediriger vers deux autres en fonction de la sous-chaîne.Rediriger les files d'attente vers la file d'attente prioritaire

Par exemple, mon code est:

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) 

À ce stade, je veux rediriger le la firstQueue au secondQueue si le 7e caractère commence par « W » dans ce cas « Monde/Wally » et rien d'autre dans le troisième (en supposant que toutes les chaînes mises dans le premier est la même longueur). Toute aide et suggestion est très appréciée!

boucle d'utilisation

Répondre

0

pour passer par chaque élément de première file d'attente et vérifiez l'état et de le mettre en deuxième file d'attente, comme ceci:

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

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

Merci, exactement ce que je cherche. Une autre question cependant. Disons que pour la variable au début aura 1 ou 2 ("1Hello World!" Et "2Hello Wally"). Comment définir ma file d'attente prioritaire afin qu'elle imprime avec la variable qui commence par 2 en premier? – Jimmy

+0

@Jimmy C'est une question entièrement différente, et par conséquent devrait être un poste séparé. L'enchaînement des questions secondaires est mal vu ici - il n'est pas juste de continuer à déplacer les poteaux de but sur les personnes qui ont pris le temps de répondre à votre question initiale. – pjs

+0

@pjs Désolé, encore relativement nouveau sur le site. Je serai sûr de faire un post séparé à ce sujet. – Jimmy