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

相关推荐
张3蜂7 小时前
Python venv 详解:为什么要用、怎么用、怎么用好
开发语言·python
老赵全栈实战7 小时前
《从零搭建RAG系统第3天:文档加载+文本向量化+向量存入Milvus》
python
火龙果研究院7 小时前
在CentOS上安装Python 3.13需要从源码编译
开发语言·python·centos
龙山云仓7 小时前
No156:AI中国故事-对话司马迁——史家绝唱与AI记忆:时间叙事与因果之链
大数据·开发语言·人工智能·python·机器学习
niuniudengdeng7 小时前
一种基于高维物理张量与XRF实景复刻的一步闭式解工业级3D打印品生成模型
人工智能·python·数学·算法·3d
overmind8 小时前
oeasy Python 114 在列表指定位置插入insert
开发语言·python
喵手8 小时前
Python爬虫实战:监控型爬虫实战 - 从结构检测到智能告警的完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·csv导出·监控型爬虫实战·从结构哦检测到智能告警
深蓝电商API8 小时前
爬虫中 Cookie 池维护与自动刷新
爬虫·python
蜡笔羊驼8 小时前
LALIC环境安装过程
开发语言·python·深度学习
Starry_hello world8 小时前
Python(1)
python