Я бы создал свой собственный deque
, унаследовав от collections.deque
.Это не сложно.А именно, вот оно:
import collections
class deque(collections.deque):
def __init__(self, iterable=(), maxlen=None):
super(deque, self).__init__(iterable, maxlen)
self._maxlen = maxlen
@property
def maxlen(self):
return self._maxlen
, и это новый deque на работе:
>>> d = deque()
>>> print d
deque([])
>>> print d.maxlen
None
>>> d = deque(maxlen=3)
>>> print d
deque([], maxlen=3)
>>> print d.maxlen
3
>>> d = deque(range(5))
>>> print d
deque([0, 1, 2, 3, 4])
>>> print d.maxlen
None
>>> d = deque(range(5), maxlen=3)
>>> print d
deque([2, 3, 4], maxlen=3)
>>> print d.maxlen
3