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

相关推荐
jiuri_12152 小时前
Docker使用详解:在ARM64嵌入式环境部署Python应用
python·docker·容器
chenchihwen2 小时前
AI代码开发宝库系列:Function Call
人工智能·python·1024程序员节·dashscope
汤姆yu4 小时前
基于python的化妆品销售分析系统
开发语言·python·化妆品销售分析
上去我就QWER4 小时前
Python下常用开源库
python·1024程序员节
程序员杰哥5 小时前
Pytest之收集用例规则与运行指定用例
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest
Jyywww1216 小时前
Python基于实战练习的知识点回顾
开发语言·python
朝朝辞暮i7 小时前
从0开始学python(day2)
python
程序员黄同学7 小时前
Python中的列表推导式、字典推导式和集合推导式的性能和应用场景?
开发语言·python
AI小云7 小时前
【Python高级编程】类和实例化
开发语言·人工智能·python