deque は double-ended queue の略称で、list と似ていますが、両端で挿入と削除の操作を提供します。
例:
両端キューとして、deque は、rotate などの他の便利なメソッドも提供します。一緒に見てみましょう:
パディング
Deque はどちらの端からでも入力できます。これを Python では「左端」と「右端」と呼びます。
extendleft() は入力を繰り返し処理し、要素ごとに appendleft() と同じ処理を完了します。
使用する
Deque 要素は、適用されるアルゴリズムに応じて、両端から利用できます。
deque の右端から要素を削除するには、pop() を使用します。deque の左端から要素を削除するには、popleft() を使用します。
両端キューはスレッドセーフであるため、キューの内容は異なるスレッドの両端から同時に利用できます。
スレッドは両端を交互に処理し、両端キューが空になるまで要素を削除します。
回転
deque のもう 1 つの機能は、任意の方向に回転し、一部の要素をスキップすることです。
結果:
別の例:
出力結果: