0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Python Queue] 便利なDequeの使い方

Last updated at Posted at 2020-12-15

Queue (キュー) の基本的な操作イメージ

  • 最大サイズが5のときのEnqueue & Dequeue
  • 最後尾に新しい要素が追加され
  • 先頭の最古要素(一番最初に追加された要素)が取り出される

image.png

実装

  • deque(Double- Ended Queue)を使用。名前通り、 両側からデータを入れたり取り出したりすることができる特殊なキュー
  • キューの要素数によって処理を変えたりすることなくappendメソッドのみで、最大サイズに到達以降、先頭の要素が取り出され、最後尾に新しい要素が追加される。

from collections import deque

d = deque(maxlen=5)
for i in range(1, 7):
    d.append(i)
    print(d)

出力

deque([1], maxlen=5)
deque([1, 2], maxlen=5)
deque([1, 2, 3], maxlen=5)
deque([1, 2, 3, 4], maxlen=5)
deque([1, 2, 3, 4, 5], maxlen=5)  <- 最大サイズに到達
deque([2, 3, 4, 5, 6], maxlen=5)  <- Enqueue & Dequeue 後

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?