Day 128二重キューで最近使った項目リストを作る
Pythonコード
1from collections import deque2 3# 最近使った項目リスト4recently_used = deque(maxlen=5)5 6# 項目追加7recently_used.append('アイテム1')8recently_used.append('アイテム2')9recently_used.append('アイテム3')10 11# リスト表示12print('最近使った項目:', list(recently_used))13 14# 新しい項目追加15recently_used.append('アイテム4')16 17# リスト表示18print('最近使った項目:', list(recently_used))19 20# 最新の項目を先頭に移動21recently_used.appendleft(recently_used.pop())22 23# リスト表示24print('最近使った項目:', list(recently_used))
解説
- 行1〜2: このスニペットでは、Pythonの標準ライブラリであるcollectionsモジュールからdequeクラスをインポートします。dequeは、両端から要素を追加または削除できるデータ構造です。ここでは、最近使った項目リストを作成するために使用します。dequeは、double-ended queueの略で、両端から要素を追加または削除できるリストのようなデータ構造です。
- 行3〜6: 最近使った項目リストを表すために、dequeオブジェクトをrecently_usedという名前で作成します。maxlenパラメータを5に設定することで、リストに保持できる最大項目数を5に制限します。次に、appendメソッドを使用して、アイテム1、アイテム2、アイテム3をリストに追加します。appendメソッドは、リストの末尾に要素を追加する関数です。
- 行7〜10: リストに追加した項目を表示するために、print関数を使用します。list関数を使用して、dequeオブジェクトをリストに変換し、最近使った項目を表示します。print関数は、画面に文字や値を表示する関数です。
- 行11〜14: 新しい項目、アイテム4をリストに追加します。リストの最大項目数は5なので、古い項目が自動的に削除されます。appendメソッドは、リストの末尾に要素を追加する関数です。
- 行15〜18: 最新の項目を先頭に移動するために、appendleftメソッドとpopメソッドを使用します。popメソッドでリストから最後の項目を削除し、appendleftメソッドでリストの先頭に追加します。appendleftメソッドは、リストの先頭に要素を追加する関数です。popメソッドは、リストから最後の要素を削除して返す関数です。
- 行19〜24: リストに追加した項目を表示するために、print関数を使用します。list関数を使用して、dequeオブジェクトをリストに変換し、最近使った項目を表示します。
- 行12〜24: 補足: print() は画面に文字や値を表示する関数です。
次に試してみよう
- リストの最大項目数を変更して、最近使った項目の数を調整してみましょう。
- リストに追加する項目をユーザーの入力から取得して、インタラクティブな最近使った項目リストを作成してみましょう。
- リストから項目を削除する機能を追加して、最近使った項目リストをより便利にしましょう。