objectif
Garder les N derniers éléments en mémoire sans gonfler.
code minimal
from collections import deque
dq = deque(maxlen=3)
for i in range(5):
dq.append(i)
print(list(dq) == [2,3,4]) # attendu: True
utilisation
from collections import deque
dq = deque([1,2,3], maxlen=3)
dq.appendleft(0)
print(list(dq) == [0,1,2])
variante(s) utile(s)
from collections import deque
dq = deque("abc", maxlen=5)
dq.extend("de")
print("".join(dq) == "abcde")
notes
- maxlen limite la taille et évince automatiquement les anciens éléments.
- deque est thread-safe pour append/pop atomiques.