Pythonでは、リストをスタックやキューとして利用することができます。これは、リストのメソッドを使うことで簡単に実現できます。
スタックとしてのリスト
スタックでは、最後に追加された要素が最初に取り出されます(”last-in, first-out”)。リストをスタックとして使うには、append()
メソッドを使って要素を追加し、pop()
メソッドを使って要素を取り出します。
stack = ["chiba","tokyo","saitama","kanagawa"]
stack.append("ibaraki") # 追加
print(stack.pop()) # 取り出し -> 'ibaraki'
print(stack) # -> ['chiba', 'tokyo', 'saitama', 'kanagawa']
キューとしてのリスト
一方、キューでは、最初に追加した要素が最初に取り出されます(”first-in, first-out”)。しかし、リストの先頭に対する操作は、他の要素を一つずつずらす必要があるため、遅くなってしまいます。そのため、キューの実装にはcollections
モジュールのdeque
を使用します。
from collections import deque
queue = deque(['chiba', 'tokyo', 'saitama'])
queue.append("kanagawa") # 追加
print(queue.popleft()) # 取り出し -> 'chiba'
print(queue) # -> deque(['tokyo', 'saitama', 'kanagawa'])
以上、Pythonのリストをスタックやキューとして利用する方法について説明しました。これらのデータ構造は、データの保存と取り扱いの方法にそれぞれ特徴があり、適切に使い分けることでプログラムの効率を向上させることができます。.