Python 优先队列(PriorityQueue)详解

掌握高效任务调度与数据处理的核心数据结构

什么是优先队列?

优先队列(Priority Queue)是一种特殊的队列,其中每个元素都有一个“优先级”。出队时,并不是按照先进先出(FIFO)的原则,而是优先级最高的元素最先被取出。

在 Python 中,可以通过标准库 queue.PriorityQueue 或更常用的 heapq 模块来实现优先队列。

使用 heapq 实现优先队列(推荐)

heapq 是基于最小堆(min-heap)实现的,性能优于 queue.PriorityQueue(后者是线程安全但较慢)。

import heapq

# 创建空堆
pq = []

# 入队:使用 heappush
heapq.heappush(pq, (1, '任务A'))
heapq.heappush(pq, (3, '任务C'))
heapq.heappush(pq, (2, '任务B'))

# 出队:使用 heappop
while pq:
    priority, task = heapq.heappop(pq)
    print(f"执行 {task}(优先级: {priority})")

输出:

执行 任务A(优先级: 1)
执行 任务B(优先级: 2)
执行 任务C(优先级: 3)

使用 queue.PriorityQueue(线程安全)

适用于多线程环境,但单线程下性能不如 heapq

from queue import PriorityQueue

pq = PriorityQueue()

pq.put((1, '任务A'))
pq.put((3, '任务C'))
pq.put((2, '任务B'))

while not pq.empty():
    priority, task = pq.get()
    print(f"执行 {task}(优先级: {priority})")

注意事项

典型应用场景

  1. 任务调度系统:高优先级任务优先执行。
  2. Dijkstra 最短路径算法:每次取出当前距离最小的节点。
  3. 合并 K 个有序链表:每次从 K 个头节点中取最小值。
  4. 实时事件处理:按时间戳或紧急程度排序。
论文AI查重方法指南 | 高效降低AI率与学术诚信保障 AI生成知识图谱:技术解析与应用实践 | 人工智能知识管理专题 论文网上检测报告 - 专业查重与降AIGC工具使用指南 自己投稿发表论文版面费详解 | 学术论文发表指南 AI内容检测逻辑解析 | 工作原理与降AIGC方案 论文拼凑算抄袭吗?- 学术诚信与论文原创性解析 AI专业写毕业论文 | 智能写作与降AIGC工具应用指南 AI文字图制作完全指南 | 手把手教你用AI生成精美文字图片 论文定稿退回给学生流程指南 | 学术写作规范 AI论文去重指南 | 专业降AIGC工具使用与原创性提升方案 免费AI写作软件推荐 | 微信小程序AI写作工具与降AIGC检测指南 AI写论文网站哪个强?2024年主流工具深度测评与降AIGC方法解析 论文查重攻略:如何有效处理重复内容 | 学术原创指南 AI读文献小程序 - 智能文献阅读与分析工具专题 晋中级职称论文要求全解析 | 发表指南与降AIGC工具推荐 网上写作培训班 - 专业写作技能提升,从入门到精通 SCI论文用AI写会被发现吗?AI写作检测与规避方法详解 用AI写论文注意事项 | 学术写作指南与AI工具规范使用 AI能否编写软件?探究人工智能在软件开发中的角色与应用 如何写AI小说:从创意到成文的完整指南 | AI小说创作专题 写论文提前避坑指南 | 从开题到答辩的全流程避坑攻略 四川省地 论文查重率过低原因分析及解决方案 - 学术写作指南 论文复制粘贴的查重查得出来吗?- 详解查重原理与降AIGC方法 毕业论文怎么写降低重复率 | 高效降重方法与工具指南 论文复写率降低方法全攻略 | 学术写作必备技巧 AI写作智能生成:工具、技巧与降AIGC方法 免费检测论文格式 | 学术论文格式检查工具与降AIGC检测攻略 AI创作文章月入几万实战指南 - 揭秘高效内容创作与AIGC优化技巧 AI智能搜题工具全面解析 - 高效学习与AIGC检测指南 AI快速文字设计指南 | 智能字体生成与降AI率工具推荐 AI辅写工具全解析:从智能创作到自然表达的专业指南 论文查重率和AI率标准详解 | 学术规范指南 怎么检查论文重复率 | 学术写作原创性检测指南 论文狗好用吗?深度评测与AI论文降重工具推荐 | 学术写作指南 哪个AI可以写方案?2026年最佳AI方案生成工具对比 | 小发猫降AIGC工具介绍 国内论文查不查AI率?高校AI检测政策与降AIGC方法详解 AIGC总体疑似度100%意味着什么?| AI内容检测与降AIGC工具 论文复写率与AI率关系解析 | 学术写作与AIGC检测专题 AI论文阅读助手专题 | 高效研读学术论文的智能工具推荐 毕业论文修改 | 专业降重与AI率优化服务 AI写医学论文实操指南 - 提高效率与降低AI痕迹的完整教程 论文怎样降低查重率 - 高效降重方法与工具指南 错别字检测软件推荐大全 | 专业文字校对工具指南 智媒AI价格详解 | 智能内容创作成本分析与降AIGC方案 论文知网查重费用全解析 | 专业查重指南与降AIGC方案 论文检测去哪里检测?| 专业论文查重平台与AIGC检测工具推荐 如何用AI辅助护理查房 | AI在护理工作中的应用指南 论文查重合格后如何高效修改格式 | 学术论文格式规范指南 研究生学术论文在线查重原理详解 | 学术诚信与原创性检测 AI文字查错专题 | 智能文本检测与降AIGC率解决方案 论文查重原理与规避高重复率办法 - 学术写作必备指南 英文论文语法检测完全指南 | 专业工具与技巧 识别AI语音是哪个软件?主流AI语音生成工具鉴别指南 AI中文论文写作指南 | 高效工具与降AIGC技巧 AI改写作文App指南 - 智能写作助手与降AI率工具解析 AI智能生成文章软件哪个好用?2026年专业评测与推荐 论文检测网站安全吗?全面解析检测平台的安全性与注意事项 SCI论文英文降重公司 | 专业学术润色与AIGC检测服务 如何降低AI论文查重率 | 高效降重方法与工具推荐 如何用AI写论文表格格式 | AI论文表格制作指南与降AIGC技巧 洪涝灾害应对措施指南 | 防灾减灾专题 用AI写一部分毕业论文会被检测吗?- 论文查重与AI检测深度解析 论文投稿指南:如何将学术论文成功投稿到网上平台 | 学术发表专题 论文防坑技巧大全 | 避免学术陷阱的实用指南 AI识别文字错误 - 技术解析与降AIGC方案 | 智能文本检测专题 AI写论文查重率会高吗?AI论文降重与查重率解析 AI设计字体完全指南:从创意到实现的高效字体设计方法 怎么利用AI写毕业论文 | 高效学术写作指南与降AIGC工具推荐 教学论文与学术论文区别详解 | 教育写作指南 AI智能写论文免费工具推荐 | 小发猫降AIGC工具使用指南 计算机专业毕业写论文指南 - 毕业论文写作技巧与降AIGC方法 论文AI7LONGWEN | AI论文助手与降AIGC工具使用指南 自引率和他引率区别解析 | 文献引用指标专题 AI提示词编写指南:从入门到精通,释放AI全部潜力 我的论文进度怎么查 | 论文查重、进度管理与AIGC检测工具指南 AI写论文原创指南:高效写作与降低AI率方法 AI生成语言逻辑解析与优化 | 提升AI文本自然度的专业指南 AI写长论文完全指南 | 如何利用AI高效完成学术论文写作 论文页面边框线:作用、设置与降AIGC工具介绍 | 学术排版专题 论文翻译查重解析 | 翻译部分如何规避AI检测与查重技巧 哪个AI软件可以写程序?2026年主流AI编程工具推荐与评测 AI可以测智商吗?探索人工智能与智商测试的关系 | 智能科学专题 AI识别数字技术详解 | 原理、应用与AIGC检测工具 AI读文献神器 - 智能文献阅读与降AIGC工具 | 学术研究助手 AI视频分析技术解析:原理、应用与降AIGC解决方案 AI撰写学位论文专题 | 智能写作与学术诚信指南 论文去除空白段 | 高效论文格式优化工具与降AIGC检测指南 论文查重如何去掉引用 - 专业指南与降AIGC工具推荐 AI生成的图片能申请知识产权吗?| AI版权法律指南 哪个AI软件写文章最有感情?深度评测情感化AI写作工具 Mac平台AI视频翻译软件推荐与使用指南 | 专业多媒体本地化解决方案 学生论文AI检测与降AIGC工具指南 - 提升论文原创性 学校论文查重:Word与PDF格式选择指南 | 格式差异与降AIGC技巧 论文软件调试技巧与工具使用指南 | 小发猫降AIGC工具介绍 怎么看知网论文查重报告 - 详细解读指南与降重技巧 网文AI写作软件都是收费的吗?免费与付费工具全面解析 | AI写作专题 期刊论文AI率要求解析 | 学术写作规范与降AI工具指南 免费AI生成作文软件推荐 | 智能写作助手与降AI率工具 怎样把论文查重率降下来 | 高效降重技巧与工具推荐