Use collections.deque
In [21]: from collections import deque In [22]: d = deque([], 3) In [24]: for c in '12345678': ....: d.appendleft(c) ....: print d ....: deque(['1'], maxlen=3) deque(['2', '1'], maxlen=3) deque(['3', '2', '1'], maxlen=3) deque(['4', '3', '2'], maxlen=3) deque(['5', '4', '3'], maxlen=3) deque(['6', '5', '4'], maxlen=3) deque(['7', '6', '5'], maxlen=3) deque(['8', '7', '6'], maxlen=3)
Marcin
source share