python标准库中带有一个Queue模块,顾名思义,队列。该模块也衍生出一些基本队列不具有的功能。

我们先看一下队列的方法:

put 存数据
get 取数据
empty 判断队列是否为空
qsize 显示队列中真实存在的元素长度
maxsize 最大支持队列长度
join 等到队列为空,该行语句下面的语句才会执行
full 检查队列是否已满

单向队列

import queue

q = queue.Queue(5)
print(q.maxsize)
q.put(343)
q.put(23)
q.put(432) print(q.get())
q.put(44)
q.put(35)
q.put(235)
print(q.full()) #判断队列当前大小是否等于约定队列大小
print(q.qsize())

先进后出队列

q = queue.LifoQueue(5)
q.put(343)
q.put(23)
q.put(432) print(q.get())

优先级队列

优先级队列put进去的是一个元祖,(优先级,数据),优先级数字越小,优先级越高

q = queue.PriorityQueue(5)
q.put((5, 5454))
q.put((5, 532566))
q.put((3, 555))
q.put((7, 344))
print(q.get())
print(q.get())

注意:如果有两个元素优先级是一样的,那么在出队的时候是按照先进先出的顺序的。

双端队列

q = queue.deque()
q.append(1) #这个方法是在尾部增加
q.append(2)
q.append(3) q.appendleft(4) #这个方法是在首部增加
q.insert(2,5) #指定位置插入元素 print(q.pop()) #出队是尾部先出

最新文章

  1. Win7 64位 VS2015及MinGW环境编译矢量库agg-2.5和cairo-1.14.6
  2. OPencv1.0配置vs2010(介于OPencv的经典之作。都是OPencv1.0为基础的。)
  3. [爬虫学习笔记]Url过滤模块UrlFilter
  4. 从ICLassFactory 为 CLSID的COM组建创建实例失败:c001f011
  5. JAVA排序--[选择排序]
  6. Go 支持Protocol Buffers的配置
  7. bzoj2597
  8. C++学习之路—const用法总结
  9. JMeter 监控和记录&常用功能
  10. Laravel ORM 数据model操作
  11. synchronized内存可见性理解
  12. 在线OJ使用总结(acm)
  13. 30、vue 过滤器(filters)
  14. Avalon MM 总线
  15. java面试一、1.5JVM
  16. Jenkins和maven自动化构建java程序
  17. php高并发,大流量
  18. 20155326 2017-2018-1 《信息安全系统设计基础》第2周学习及课堂总结myod
  19. 不要问我有多懒,写个脚本跑django
  20. uliweb框架数据库操作

热门文章

  1. DRF 版本、认证、权限、限制、解析器和渲染器
  2. css单位中px和em,rem的区别
  3. Spring Cloud使用Zuul网关时报错
  4. NET Core CSharp初级篇 1-3面向对象
  5. 问题解决:Maven execution terminated abnormally (exit code 1)
  6. git commit规范化实践
  7. List集合源码解读
  8. python初步编写用户登录
  9. Android的简述4
  10. 02-Kubenetes资源