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