Python deque 详解

什么是 deque?

deque(全称 “double-ended queue”,即双端队列)是 Python 标准库 collections 模块中的一个高效数据结构。 它支持在两端快速地添加(append)和删除(pop)元素,时间复杂度均为 O(1),非常适合实现队列、栈或滑动窗口等场景。

基本用法示例

from collections import deque

# 创建一个 deque
d = deque([1, 2, 3])

# 右侧添加
d.append(4)          # deque([1, 2, 3, 4])

# 左侧添加
d.appendleft(0)      # deque([0, 1, 2, 3, 4])

# 右侧弹出
right = d.pop()      # right = 4

# 左侧弹出
left = d.popleft()   # left = 0

print(d)             # deque([1, 2, 3])

常用方法一览

性能优势

与普通列表(list)相比,deque 在首尾操作上具有显著性能优势:

因此,在频繁进行首尾插入/删除的场景中,应优先使用 deque

典型应用场景

小贴士

你可以通过设置 maxlen 参数创建一个有最大长度的 deque:

d = deque(maxlen=3)
d.append(1)
d.append(2)
d.append(3)
d.append(4)  # 自动丢弃最左侧元素
print(d)     # deque([2, 3, 4], maxlen=3)

这在需要保留最近 N 条记录的场景中非常实用(如缓存、日志等)。

先锋Pioneer加速器-极速稳定,畅游全球网络 Python IDE 推荐与使用指南-高效开发必备工具 Python content() 函数详解-用法、示例与最佳实践 丙酸(Propionic)详解-性质、用途与安全信息 iPhone发货会提前吗?78TP发货时间与用户经验全解析 C. Bechstein|德国顶级手工钢琴制造商 iPhone 17 有几个颜色?最新配色全解析-科技前沿资讯 Python 直接用 pip 语句吗?详解 pip 的正确使用方式 iPhone 16 是不是双卡双待?全面解析支持情况 大陆怎么买港版iPhone?全攻略指南-省钱又靠谱 iPhone Air 支持双卡吗?全面解析 iPhone 双卡功能 Shopify下载-78TP应用与插件资源中心 Python 发送 GET 请求详解-requests 与 urllib 实战指南 Shein百科-全面了解全球快时尚电商巨头 The Centipede – Fascinating Facts, Habitat & Behavior Champion品牌怎么念?正确发音、品牌历史与常见误区全解析 iPhone 17 前后双摄:影像新纪元|全新摄影体验 Chain Dollar Store-一元好物,品质生活 苹果第一代 iPhone:智能手机革命的起点 Pokémon HOME-宝可梦的云端家园 Champion 联名系列大全|经典与潮流的碰撞 Prorino药丸-健康生活新选择 日服 Nintendo eShop 专题指南-游戏下载、优惠活动与账号注册 iPhone 17 美版在国内能用吗?全面解析与使用建议 iPhone 17 标准版价格|最新78TP售价与购买指南 Reputation 的派生词详解-英语词汇学习专题 Python中list怎么用-列表基础、操作与实用技巧 Python调用ctypes详解-跨语言编程入门指南 英雄联盟冠军档次解析-各赛区战队实力分级 NS eShop无法显示页面?常见原因与解决方法-任天堂eShop故障排查指南 Pinarello中文7LONGWEN|意大利顶级公路自行车品牌 Shine电商公司-引领未来购物体验 Moncheri的隐喻意义:探索名字背后的象征与文化内涵 什么是SHEIN?全面了解全球快时尚电商巨头 Champion服装78TP专题页-经典美式休闲潮流品牌 Python手机版IDLE-在手机上轻松编写和运行Python代码 Python中append()方法的用法详解|列表操作入门指南 iPhone 17 韩版和国版区别详解|最新对比指南 Pioneer电视投屏指南-轻松实现手机/电脑投屏到Pioneer电视 宝可梦手机版专题-探索口袋妖怪的掌上世界 Python中while循环例子详解-初学者入门指南 Chompion是什么牌子?品牌介绍、产品特点与用户评价 内啡肽(Endorphins)详解-自然的快乐荷尔蒙 日本 iPhone Pro Max 70 专题-未来科技新旗舰 Pretatious-探索珍贵与独特之美 Python SEP:标准库、生态与实践指南 Pioneer功放说明书-78TP用户手册与操作指南 Prorino-创新科技,驱动未来 Moncheri是杂牌还是名牌?全面解析品牌背景与口碑 Champion 与 Championship 的区别|英语词汇解析专题 Pigeon奶瓶多少钱一个?2026最新价格与选购指南 iPhone 17 Pro 与 iPhone 17 Pro Max 区别详解|全面对比指南 宝可梦Home(Pokémon HOME)安卓版-78TP功能、下载与使用指南 champion的音标-英语发音与释义详解 iPhone 17 台灣售價預測與最新消息|2026 最新資訊 Python栈-探索Python语言中的栈数据结构与应用 iPhone序列号L开头含义解析-查询方法与生产信息指南 Python中sep参数怎么用?详解print函数的sep用法 台灣版 iPhone 11 Pro 完整介紹與特色解析 It Is Nice Doing Something – 发现生活中的美好小事 Moncheri法语-轻松学地道法语,从Moncheri开始 Shein尼特-探索时尚与潮流的交汇点 iPhone 香港官網預約|Apple (香港) Pioneer Vpm 安卓版-高性能虚拟定位工具|免费下载 《匹诺曹》意大利电影在线观看-经典奇幻家庭影片 Python property() 函数详解-面向对象编程中的属性管理 eshop手机App-一站式购物体验,尽在指尖 iPhone白色和银色的区别-外观、材质与选购指南 compliment 和 complement 的区别-英语易混淆词详解 港版iPhone在日本能用吗?全面解析网络兼容性与使用建议 Nothin'on Me (Explicit)-音乐专题页面 先锋英语怎么读?“Pioneer”发音、释义与用法详解 Python下载pip包-快速安装与使用指南 Python小妹-轻松学Python,从入门到实战 Polyhedron 期刊-国际配位化学与无机结构研究权威期刊 安装了 Python 却没有 pip?快速解决方法汇总 先锋精神:探索与创新的力量|Pioneering 中文专题 Shopee头像设计灵感与设置指南-打造你的专属Shopee形象 Web Python 开发指南-使用 Python 构建现代 Web 应用 Perception近义词大全-感知、洞察与理解的同义表达 Pinion自行车7LONGWEN-高性能传动系统,骑行新体验 Championed快速记忆法|高效提升记忆力的科学技巧 Kenio是什么品牌?全面解析Kenio品牌背景、产品与市场定位 Python中的Shape形状详解-数据结构与NumPy数组维度 Pokémon HOME 7LONGWEN下载-宝可梦存储与管理服务 Persona图鉴-探索人格面具的神秘世界 Shopee聊天工具-提升卖家沟通效率的必备助手 国行 iPhone 17 价格预测与最新资讯-2026年权威汇总 Python入门教程-零基础快速掌握Python编程 Voice Thick with Emotion — 声音中的情感力量 Switch Online-任天堂Switch在线服务专题页 Python shape函数详解-NumPy数组形状操作指南 Shopee账号购买指南|安全、合法、合规使用Shopee平台 为什么苹果手机叫 iPhone?揭秘命名背后的故事 Shopee打印面单指南-快速设置与高效发货 Endorphin网名寓意-快乐、自由与内在力量的象征 食欲不振?了解原因、应对方法与健康建议|Have No Appetite For 那不勒斯(Napoli):意大利南部的魅力之城 Pinion最低齿比详解-自行车传动系统专题 iPhone 17 Pro Max 产地揭秘-制造地、供应链与生产信息