python队列用法

python队列

1、首先导入库

python 复制代码
import queue

2、普通队列

python 复制代码
import queue

q = queue.Queue()

# 添加元素
q.put("a")
q.put("b")

# 删除并返回元素
print(q.get())  	# 输出: a

# 检查队列是否为空
print(q.empty())  	# 输出: False
q.queue.clear()		# 清空队列

3、后进先出队列

这是一个后进先出 (LIFO) 的队列,也就是通常所说的栈。

python 复制代码
from queue import LifoQueue

q = LifoQueue()
q.put('a')
q.put('b')
q.put('c')
print(q.get())  # 输出: c

4、优先级队列

这是一个优先队列。队列中的每个元素都是一个元组 (priority, data),其中 priority 是一个可以比较的值。

python 复制代码
from queue import PriorityQueue

q = PriorityQueue()
q.put((2, 'a'))
q.put((1, 'b'))
q.put((3, 'c'))
print(q.get()[1])  # 输出: b	返回优先级最低的项

5、常见方法:

put(item): 将一个元素添加到队列。

get(): 从队列中删除并返回一个元素。如果队列为空,此方法将会阻塞,直到有元素可用。

empty(): 如果队列为空,返回 True,否则返回 False。

full(): 如果队列已满,返回 True,否则返回 False。

put_nowait(item): 等同于 put(item),但不阻塞。

get_nowait(): 等同于 get(),但不阻塞。

注意:在多线程环境中,queue 模块的队列是线程安全的,因此经常被用作线程之间的通信工具。

相关推荐
SunnyRivers15 分钟前
打包 Python 项目
python·打包
万行16 分钟前
机器人系统SLAM讲解
开发语言·python·决策树·机器学习·机器人
我的xiaodoujiao16 分钟前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 40--完善优化 Allure 测试报告显示内容
python·学习·测试工具·pytest
WinstonJQ17 分钟前
AirSim无人机仿真入门(一):实现无人机的起飞与降落
python·机器人·游戏引擎·ue4·无人机
tjjucheng19 分钟前
专业做小程序定制开发的厂家
python
Hello.Reader24 分钟前
Flink DynamoDB Connector 用 Streams 做 CDC,用 BatchWriteItem 高吞吐写回
大数据·python·flink
gc_229938 分钟前
学习python调用dmpython库获取达梦数据库模式信息的基本方式
python·dmpython
reasonsummer39 分钟前
【教学类-130-01】20260118对称汉字剪纸28个
python
victory043139 分钟前
minimind SFT失败原因排查和解决办法
人工智能·python·深度学习
曲幽1 小时前
Django入门指南:Python Web开发的“瑞士军刀”
python·django·flask·fastapi·web·pythonweb