# -*- coding: utf-8 -*- class Deque(object): """双端队列""" def __init__(self): self.__queue = [] def add(self, item): """往队列头部添加一个item元素""" self.__queue.append(item) def left_add(self, item): """往队列尾部添加一个item元素""" self.__queue.insert(0, item) @property def pop(self): """从队列头部删除一个元素""" return self.__queue.pop(0) @property def left_pop(self): """从队列尾部删除一个元素""" return self.__queue.pop() @property def is_empty(self): """判断队列是否为空""" return not self.__queue @property def size(self): """返回队列元素个数""" return len(self.__queue) if __name__ == '__main__': q = Deque() print(q.is_empty) q.add(3) q.add(4) q.add(5) q.left_add(0) q.left_add(1) q.left_add(2) print(q.is_empty) print(q.size) print("*"*10) print(q.left_pop) print(q.left_pop) print(q.left_pop) print(q.pop) print(q.pop) print(q.pop) print("*" * 10) print(q.size) print(q.is_empty)