当前位置:   article > 正文

Python数据结构基础知识(7):队列Queue_queue.pop(0)

queue.pop(0)

队列Queue是一种先进先出FIFO(first in first out)的排列方式,就和排队入场是一样的。

而双端队列deque 即队伍的头尾可以互换,两端既可以进也可以出。

在Python中常用的有两种实现队列的方法:

一、列表List方法

append():从右端进入

pop(0):从左端出(需要注意pop()默认是从右端出,这样就不符合FIFO了)

  1. s = ['a', 'b', 'c']
  2. s.append('d')
  3. s.pop(0)
  4. print(s)-------------->['b', 'c', 'd']

由于List的删除方式pop(0)需要后面所有元素向前补齐一位,算法效率较低。而第二种方法可以有效的避免这个问题。

二、调用deque方法

 append():从右端进入

pop():从右端出

appendleft():从左端进入

popleft():从左端出

可以看出要满足FIFO条件,append()和popleft()通常一起使用(右进左出),appendleft()和pop()通常一起使用(左进右出)。

  1. from collections import deque
  2. q = deque(['a', 'b', 'c'])
  3. q.append('d')
  4. q.popleft()
  5. print(q)---------------->deque(['b', 'c', 'd'])

三、复杂度

访问Access:O(N)

搜索Search:O(N)

插入Insert:O(1)

删除Remove:O(1)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/189735
推荐阅读
相关标签
  

闽ICP备14008679号