1. ホーム
  2. python

[解決済み] リストを強制的に固定サイズにするには?

2023-02-25 01:50:48

質問

Python 3で、最後に入力された5つの変数を含むリストを作成したい。

以下はその例です。

>>>l = []
>>>l.append('apple')
>>>l.append('orange')
>>>l.append('grape')
>>>l.append('banana')
>>>l.append('mango')
>>>print(l)
['apple','orange','grape','banana','mango']
>>>l.append('kiwi')
>>>print(l)
['orange','grape','banana','mango','kiwi'] #only 5 items in list

では、pythonで、上で示したようなことを実現する方法はあるのでしょうか?変数はリストである必要はありません、私はちょうど例としてそれを使用しました。

どのように解決するのですか?

あなたは collections.deque オブジェクトに maxlen コンストラクタ引数を指定します。

>>>l = collections.deque(maxlen=5)
>>>l.append('apple')
>>>l.append('orange')
>>>l.append('grape')
>>>l.append('banana')
>>>l.append('mango')
>>>print(l)
deque(['apple','orange','grape','banana','mango'], maxlen=5)
>>>l.append('kiwi')
>>>print(l)
deque(['orange','grape','banana','mango','kiwi'], maxlen=5) #only 5 items in list