Pythonでキューの長さを確認するにはどうすればよいですか?
PythonでQueue.lenghtを提供しているのがわかりません。
http://docs.python.org/tutorial/datastructures.html
from collections import deque
queue = deque(["Eric", "John", "Michael"])
このキューの長さを確認するには?
のように初期化できますか
queue= deque([]) #is this length 0 queue?
len(queue)
から結果が得られます(この場合は3)。
具体的には、len(object)
関数は_object.__len__
_メソッド[ reference link ]を呼び出します。この場合のオブジェクトはdeque
で、___len__
_メソッドを実装しています(dir(deque)
で確認できます)。
_queue= deque([]) #is this length 0 queue?
_
はい、空のdeque
の場合は0になります。
.qsize()の例を使用するだけです:
_a=Queue()
a.put("abcdef")
print a.qsize() #prints 1 which is the size of queue
_
上記のスニペットは、PythonのQueue()
クラスに適用されます。 @ rayryeng 更新ありがとう。
_deque from collections
_の場合、前述のようにlen()
を使用できます here by K Z 。
はい、コレクションから作成されたキューオブジェクトの長さを確認できます。
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()
クラスのオブジェクトを作成する
q = Queue(batchSize=64)
q.enqueue([1,2])
q.enqueue([2,3])
q.enqueue([1,4])
q.enqueue([1,22])
キューの長さを取得する
#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()))
添付のスクリーンショットで結果を確認してください
お役に立てれば...