Simple Deque Class

November 29, 1997 | Fredrik Lundh

The Deque class (double-ended queue) is a variant of Stack that allows you to add and remove items at either end. It also provides a __getitem__ method that allows you to access any item in the list.

Note that this class uses a Python list as the underlying data structure, which means that operations at the “left end” of the queue isn’t quite as efficient as they could be, especially for larger queues.

Example: The Deque implementation (for Python 1.5.2 and later)
class Deque:

    def __init__(self):
        self.list = []

    def __len__(self):
        return len(self.list)

    def __getitem__(self, index):
        return self.list[index]

    def putfront(self, item):
        self.list.insert(0, item)

    def getfront(self):
        return self.list.pop(0)

    def putback(self, item):
        self.list.append(item)

    def getback(self):
        return self.list.pop() # default is last
 

A Django site. rendered by a django application. hosted by webfaction.