Python deque 函数详解

高效处理双端队列(Double-ended Queue)的利器

什么是 deque?

deque(读作 “deck”)是 Python 标准库 collections 模块中提供的一个双端队列数据结构。 它支持在两端高效地添加(append)和弹出(pop)元素,时间复杂度均为 O(1),比使用列表(list)模拟队列或栈更高效。

基本用法

首先需要导入:

from collections import deque

创建与基本操作示例:

d = deque([1, 2, 3])
d.append(4)        # 右侧添加 → [1, 2, 3, 4]
d.appendleft(0)    # 左侧添加 → [0, 1, 2, 3, 4]
d.pop()            # 右侧弹出 → 返回 4,队列变为 [0, 1, 2, 3]
d.popleft()        # 左侧弹出 → 返回 0,队列变为 [1, 2, 3]

常用方法一览

性能优势

使用列表(list)在头部插入或删除元素的时间复杂度为 O(n),而 deque 在两端的操作均为 O(1), 特别适合实现队列(FIFO)、栈(LIFO)或滑动窗口等场景。

模拟队列(先进先出):

from collections import deque

queue = deque()
queue.append('A')   # 入队
queue.append('B')
print(queue.popleft())  # 出队 → 'A'

实际应用场景

  1. 广度优先搜索(BFS):用 deque 作为待访问节点队列
  2. 滑动窗口算法:维护固定大小的窗口,快速进出元素
  3. 撤销/重做功能:用双端队列记录操作历史
  4. 日志缓冲:只保留最近 N 条日志

限制最大长度(maxlen)

创建 deque 时可指定 maxlen 参数,自动限制队列长度。当新元素加入导致超出长度时,另一端的元素会自动被移除。

d = deque(maxlen=3)
d.append(1)  # [1]
d.append(2)  # [1, 2]
d.append(3)  # [1, 2, 3]
d.append(4)  # [2, 3, 4] ← 自动丢弃最左边的 1
哪家手机的AI创作最好?2026年主流手机AI创作能力全面评测 反AI查重解决方案 - 专业降低AIGC检测率工具与方法 硕士毕业论文如何降低查重率 | 高效降重方法与工具推荐 如何让AI自己读文章 - AI内容处理与降AIGC工具专题 毕业论文删除一整页技巧 - 快速解决论文排版与AIGC检测问题 论文查重原理与规避高重复率办法 - 学术写作必备指南 AIGC降低技术解析 | 小发猫降AIGC工具使用指南 AIGC总体疑似度怎么降?- 小发猫降AIGC工具使用指南 AI如何快速调整文件尺寸大小 | 智能图片处理全攻略 本科论文倒查年限详解 | 查重规则与降AIGC技巧 毕业设计专题:揭秘毕业设计的难点与应对策略 | 高校毕业设计指南 关于爱的文章开头写作指南 - 如何写出触动人心的开篇 严伯钧AI课实操课单元解析 | AI课程学习指南 如何用AI降本增效 - 企业智能化转型指南 知网论文查询 - 中国知网(CNKI)学术资源一站式检索平台 毕业论文AI率怎么查?| 检测方法与降AI率工具推荐 免费科研论文写作AI工具全解析 | 提升学术写作效率 论文查重降重必备指南 | 专业工具与技巧分享 论文见刊标准详解 | 学术发表指南与AI写作降重技巧 AI可以写软件吗?探索人工智能在软件开发中的应用与前景 论文复制粘贴的查重查得出来吗?- 详解查重原理与降AIGC方法 揭秘网上免费AI绘画课的常见套路 | 防骗指南与降AIGC工具推荐 AI人工智能自动编写软件 - 智能内容生成与降AIGC工具指南 AI论文去重指南 | 专业降AIGC工具使用与原创性提升方案 AI创作热点视频:工具、技巧与降AIGC方法 | 专题指南 如何使用AI万能写作 - 提升写作效率的完整指南 AI论文专业英文翻译服务 | 学术论文翻译解决方案 怎么使用AI写一篇完整的毕业论文 | AI论文写作指南与降AIGC工具推荐 腾讯文档AI隐私保护专题 - 安全使用指南与降AI率工具推荐 课程论文会检测AI吗?- 高校AI检测政策与应对方案 AI智能写作工具手机版指南 - 移动端AI写作解决方案 能阅读论文的AI工具大全 | 学术研究智能化解决方案 如何用AI分析数据写论文 | 人工智能辅助学术研究指南 AI写的报告查重率高吗? | 深度解析与降AIGC解决方案 如何有效降低AI生成内容检测率 | AI内容优化指南 论文发表诀窍:从选题到发表的完整指南 | 学术写作技巧 AI生成文章有版权吗?深度解析AI内容版权归属与保护 AI撰写教育教学论文指南 | 高效写作与降AIGC技巧 疑似AI写作怎么处理?专业解决方案-小发猫降AIGC工具 AI神经网络原理详解 - 从基础概念到实际应用 论文AIGC检查是什么?- AI内容检测与降AI率工具详解 AI写作检测工具大全 | 专业AI内容识别软件推荐 免费检测论文格式软件推荐 | 论文格式检查工具大全 论文文献标注方法详解 | 学术写作规范指南 国外论文降重最快方法 | 高效降重工具与技巧详解 小众AI写作软件推荐与使用指南 | 包含降AIGC工具介绍 AI写毕业论文行业解析 | 学术诚信与工具应用指南 WPS论文查重可靠吗?深度解析与使用指南 | 论文查重专题 硕士毕业论文查重复率指南 | 降低AI率方法与技巧 AIGC过高问题解决方案 - 小发猫降AIGC工具使用指南 论文AIGC在哪查?- 专业AIGC检测与降重工具推荐 无问AI写出来的论文能用吗?| AI论文检测与降AIGC解决方案 综述类论文大纲怎么写 | 完整步骤与结构解析指南 免费的论文AI查重网站推荐 | 高效检测AI生成内容 AI写作助手软件苹果版专题 - 最佳Mac与iOS写作工具推荐与使用指南 如何检测论文是否由AI撰写?专业查重与降AIGC工具推荐 | 学术诚信指南 论文写作AI助手实证分析专题 | 智能工具应用指南 AI生成作文是原创吗?深度解析AI写作的原创性与版权问题 AI长篇写作免费工具全攻略 | 高效创作与降AI率技巧 大学生论文抄袭检测平台 | 专业查重降重与AI原创性检测 学术不端论文的识别、防范与规范指南 | 学术诚信专题 好用的论文写作AI工具推荐 | 智能辅助写作与降AIGC指南 AI文章生成器在线生成 - 智能创作与AIGC内容优化工具 人工智能必读经典书籍推荐 | AI学习专题指南 免费论文查重软件推荐 | 高效、准确、安全的查重工具对比 本科毕业论文数据收集、处理与降AIGC率指南 | 学术研究专题 论文智能写作工具 - 高效AI辅助论文写作与降AIGC解决方案 怎么修改AI生成的文章?专业修改技巧与降AIGC工具指南 AI写作会被查出抄袭吗?AI内容检测与降AIGC解决方案 四川省洪涝灾害成功避险专题 - 防灾经验与技术应用 AI智能写小说软件哪个更好用?2024年主流工具全面评测与推荐 全国洪水风险评估专题 | 洪水风险分析、防范措施与AIGC内容优化工具 AI免费撰写工具指南 | 高效内容创作与降AI率解决方案 可朗读的AI工具推荐 | AI语音合成与文本转语音工具专题 本科毕业论文怎么降重最快最有效?高效降重方法与降AIGC率工具推荐 论文会查重吗?- 全面解析论文查重与降AIGC工具使用 论文AI写作识别原理 | AI检测技术与小发猫降AIGC工具使用指南 AI智能写方案神器 - 高效创作与智能降AIGC解决方案 适合写短文的AI软件推荐 | 提升写作效率的智能工具 一般AIGC不能超过多少?| AIGC原创率要求与降AIGC工具指南 AI专利撰写系统 | 智能专利生成与AIGC检测工具 如何防止AI信息泄露 | 全面防护指南与实用工具 严伯钧阅读专题 - 深度解读科学思维与认知升级 医学AI软件:医疗智能化转型的核心工具与应用指南 AI智能软件写论文指南 | 高效工具与降AIGC方法 学术论文资源指南:现在论文上哪看?权威数据库与免费平台推荐 AI写作软件免费下载指南 | 2026年最佳AI写作工具推荐 用AI写SCI论文可以被接收吗?AI科研写作指南 | 学术伦理与期刊政策 AI内容审核全解析:原理、流程与降AIGC工具使用指南 论文检测详细报告 - 学术原创性分析与AIGC内容检测专业工具 职称评审论文下载指南 | 权威资源平台与实用工具推荐 论文查重权威机构推荐 | 正规检测平台与降AIGC工具使用指南 本科论文抽检:学术不端的判定标准与应对策略 | 论文原创性指南 论文AI法律专题 | 学术规范、法律风险与AIGC检测工具指南 AI智能识别功能测试专题 - 技术解析与工具应用指南 研究生毕业论文查重率标准解析 | 通过率要求及降重技巧 AI英文写作靠谱吗?- 专业评估与降AIGC解决方案 AI文章检测原理详解 | 如何识别AI生成内容与降低AIGC率 AIGC总体疑似度与查重总体相似度解析 | 小发猫降AIGC工具使用指南 无问AI写综述:智能工具辅助学术写作的实践与降AI率技巧