Pythonのdeque関数とは

Pythonのdequeは、"double-ended queue"(二重終端キュー)の略で、キュー(queue)の操作をサポートするデータ構造です。dequeは、コレクションの一種で、リスト(list)とは異なり、要素の追加と取り出しをリストの両端で効率的に行うことができます。dequeは、collectionsモジュールで提供されています。

dequeは、通常のリストと比較して、以下の点で優れています:

  1. 両端からの高速な要素の追加と削除:appendpopleftメソッドを使用して、dequeの右端への要素追加と左端からの要素の取り出しを効率的に行うことができます。

  2. 固定長キューのサポート:maxlen引数を指定することで、固定長のdequeを作成することができ、要素が指定した長さを超えると、古い要素が自動的に削除されます。

dequeの基本的な操作は、以下のように行います:

python
from collections import deque # 空のdequeを作成 my_deque = deque() # 右端に要素を追加 my_deque.append(1) my_deque.append(2) my_deque.append(3) # 左端から要素を取り出す value = my_deque.popleft() print(value) # 出力: 1 # 固定長のdequeを作成 fixed_deque = deque(maxlen=3) fixed_deque.append(1) fixed_deque.append(2) fixed_deque.append(3) fixed_deque.append(4) # maxlenに達すると、古い要素が自動的に削除される

dequeは、キュー(FIFO)やスタック(LIFO)として使用することができ、リストよりも高速に要素の追加と削除ができるため、特に大量の要素を処理する場合に便利です。