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 模块的队列是线程安全的,因此经常被用作线程之间的通信工具。

相关推荐
星空椰11 小时前
Python 面向对象高级:继承与类定义详解
开发语言·python
凯瑟琳.奥古斯特11 小时前
高阶子查询题目精炼
开发语言·数据库·python·职场和发展·数据库开发
风之所往_12 小时前
Python 3.4 新特性全面总结
python
太阳上的雨天12 小时前
任何格式的文件转Markdown
python·ai
yaoxin52112313 小时前
419. 现代 Java IO 最佳实践 - 写入文本文件
java·windows·python
weixin_4684668513 小时前
纳米 AI 搜索新手极速上手指南
人工智能·python·深度学习·搜索引擎·ai·语言模型·自然语言处理
凯瑟琳.奥古斯特13 小时前
数据库原理选择题精选
数据库·python·职场和发展
彦为君14 小时前
JavaSE-07-异常机制
java·开发语言·后端·python·spring
适应规律14 小时前
【无标题】
人工智能·python·算法