collections.deque

deque型のデータを扱うことができる。dequeは、”double-ended queue”の略語で「デック」と呼ぶ。

Deque はどちらの側からも 効率よくappend と pop が可能であるが、両端以外の要素へのアクセスが遅いというデメリットもある。

リストでも同様の操作ができるが、固定長のデータを高速に操作することに特化しており、内部のデータ表現形式のサイズと位置を両方変えるようなpop(0) やinsert(0,v) などの操作ではメモリ移動のために効率が悪い。

標準ライブラリー

コンテナデータ型

インポート

from collections import deque

dequeの生成

input_deque = deque(file1.readlines())

pop

リストのpop()と異なり、引数に位置を指定することはできない。

pop()

末尾(右側)から1つ要素を削除して、その値を返す。

input_line = input_deque.pop() 

popleft()

先頭(左側)から1つ要素を削除して、その値を返す。

input_line = input_deque.popleft()