Python の リストを使った スタックとキューの説明。
スタック(stack)
スタックとは「データの後入れ先出し」の構造を保持するデータ構造です。
リストのメソッドを使うと簡単にリストをスタックとして使えます。
s = ['A', 'B']
s.append('C')
print(s)
print(s.pop())
print(s)
['A', 'B', 'C']
C
['A', 'B']
キュー(queue)
キューとは「データの先入れ先出し」の構造を保持するデータ構造です。
標準のリストでもキューとしてて使うことも可能だが、リストの先頭の要素に対する削除などは処理が遅いので dequeを使うのが一般的なようです。
deque は Pythonの標準ライブラリcollectionsモジュール にあるので それを インポートして使います。
from collections import deque
s = deque(['A', 'B'])
s.append('C')
print(s)
print(s.popleft())
print(s)
deque(['A', 'B', 'C'])
A
deque(['B', 'C'])
del 文
del 文を使うと リストから要素や リスト全体を削除できます。
s = ['A', 'B', 'C']
del s[0]
print(s) # ['B', 'C']
s = ['A', 'B', 'C']
del s[2]
print(s) # ['A', 'B']
del 変数名 では 変数名のリスト自体が 無くなります。
s = ['A', 'B', 'C']
del s
print(s) # エラー
リストを空にしたいときは 空のリストと置きかます。
s = ['A', 'B', 'C']
s = []
print(s) # []
コメント