python!collections模块中的deque

列表除了可以当做堆栈来使用之外,也可以把列表当做队列用,只是在队列里第一加入的元素,第一个取出来;但是拿列表用作这样的目的效率不高。在列表的最后添加或者弹出元素速度快,然而在列表里插入或者从头部弹出速度却不快(因为所有其他的元素都得一个一个地移动)。

 

  • #collections是Python一个内建集合模块,现在导入其中一个名为双向列表的模块deque,实现快速插入删除。

 常用的方法有:

  • d=deque([])        #创建一个空的双队列
  • d.append(item)        #在d的右边(末尾)添加项目item
  • d.appendleft(item)         #从d的左边(开始)添加项目item
  • d.clear()              #清空队列,也就是删除d中的所有项目
  • d.extend(iterable)     #在d的右边(末尾)添加iterable中的所有项目
  • d.extendleft(item)   #在d的左边(开始)添加item中的所有项目
  • d.pop()          #删除并返回d中的最后一个(最右边的)项目。如果d为空,则引发IndexError
  • d.popleft()      #删除并返回d中的第一个(最左边的)项目。如果d为空,则引发IndexError
  • d.rotate(n=1)       #将d向右旋转n步(如果n<0,则向左旋转)
  • d.count(n)       #在队列中统计元素的个数,n表示统计的元素
  • d.remove(n)       #从队列中删除指定的值
  • d.reverse()      #翻转队列

猜你喜欢

转载自blog.csdn.net/lezeqe/article/details/82619780
今日推荐