Comment vérifier la longueur de la file d'attente en python?
Je ne vois pas qu'ils fournissent Queue.lenght en python ....
http://docs.python.org/tutorial/datastructures.html
from collections import deque
queue = deque(["Eric", "John", "Michael"])
comment vérifier la longueur de cette file d'attente?
et pouvons-nous initialiser comme
queue= deque([]) #is this length 0 queue?
len(queue)
devrait vous donner le résultat, 3 dans ce cas.
Plus précisément, la fonction len(object)
appellera la méthode object.__len__
[ lien de référence ]. Et l'objet dans ce cas est deque
, qui implémente la méthode __len__
(Vous pouvez le voir par dir(deque)
).
queue= deque([]) #is this length 0 queue?
Oui, ce sera 0 pour deque
vide.
c'est simple, il suffit d'utiliser l'exemple .qsize ():
a=Queue()
a.put("abcdef")
print a.qsize() #prints 1 which is the size of queue
L'extrait ci-dessus s'applique à la classe Queue()
de python. Merci @ rayryeng pour la mise à jour.
pour deque from collections
nous pouvons utiliser len()
comme indiqué ici par K Z .
Oui, nous pouvons vérifier la longueur de l'objet de file d'attente créé à partir des collections.
from collections import deque
class Queue():
def __init__(self,batchSize=32):
#self.batchSie = batchSize
self._queue = deque(maxlen=batchSize)
def enqueue(self, items):
''' Appending the items to the queue'''
self._queue.append(items)
def dequeue(self):
'''remoe the items from the top if the queue becomes full '''
return self._queue.popleft()
Création d'un objet de classe
q = Queue(batchSize=64)
q.enqueue([1,2])
q.enqueue([2,3])
q.enqueue([1,4])
q.enqueue([1,22])
Récupération de la longueur de la file d'attente
#check the len of queue
print(len(q._queue))
#you can print the content of the queue
print(q._queue)
#Can check the content of the queue
print(q.dequeue())
#Check the length of retrieved item
print(len(q.dequeue()))
vérifier les résultats dans la capture d'écran ci-jointe
J'espère que cela t'aides...