PythonでQueueを実装するには、標準ライブラリのqueueモジュールを使うのが一般的です。queue.Queueはスレッドセーフなキューの実装です。
以下は、基本的な使い方の例です:
import queue # Queueの作成(デフォルトではFIFO) q = queue.Queue() # アイテムを追加(enqueue) q.put(10) q.put(20) q.put(30) # アイテムを取り出し(dequeue) print(q.get()) # 10が出力されます print(q.get()) # 20が出力されます # キューが空かどうかを確認 print(q.empty()) # Trueになる、まだ取り出していないアイテムがない場合 # キューのサイズを確認 print(q.qsize()) # 現在のキューに入っているアイテムの数
主なメソッド: put(item):アイテムをキューの末尾に追加します。
get():キューの先頭からアイテムを取り出します。
empty():キューが空かどうかをチェックします。
qsize():キューに現在格納されているアイテムの数を返します。
もし、スレッドを使わずに簡単なQueueを自作したい場合、collections.dequeを使った方法もあります。
from collections import deque class MyQueue: def __init__(self): self.queue = deque() def enqueue(self, item): self.queue.append(item) def dequeue(self): if self.is_empty(): return None return self.queue.popleft() def is_empty(self): return len(self.queue) == 0 def size(self): return len(self.queue) # 使用例 q = MyQueue() q.enqueue(10) q.enqueue(20) q.enqueue(30) print(q.dequeue()) # 10 print(q.size()) # 2 print(q.is_empty()) # False