From e1f42dcd91a76866a52becc75ebb1c589762a42d Mon Sep 17 00:00:00 2001 From: nvbn Date: Mon, 15 Dec 2014 03:29:06 +0300 Subject: [PATCH] collections.deque: Speedup `appendleft`, implement `__iter__` and `__str__` --- collections.deque/collections/deque.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/collections.deque/collections/deque.py b/collections.deque/collections/deque.py index 688edc96..634eeaa9 100644 --- a/collections.deque/collections/deque.py +++ b/collections.deque/collections/deque.py @@ -19,10 +19,16 @@ class deque: self.q.append(a) def appendleft(self, a): - self.q = [a] + self.q + self.q.insert(0, a) def __len__(self): return len(self.q) def __bool__(self): return bool(self.q) + + def __iter__(self): + yield from self.q + + def __str__(self): + return 'deque({})'.format(self.q)