Python 堆栈(Stack)专题

掌握 LIFO 数据结构的核心原理与实战应用

什么是堆栈?

堆栈(Stack)是一种遵循 后进先出(LIFO, Last In First Out) 原则的线性数据结构。就像一摞盘子,你只能从顶部放入或取出盘子。

在 Python 中,堆栈可以通过列表(list)、collections.deque 或自定义类轻松实现。

基本操作

Python 实现示例

1. 使用 list 实现

# 创建栈
stack = []

# push
stack.append('A')
stack.append('B')

# pop
top = stack.pop()  # 'B'

# peek
if stack:
    top = stack[-1]

# is_empty
if not stack:
    print("栈为空")

2. 使用类封装

class Stack:
    def __init__(self):
        self.items = []

    def push(self, item):
        self.items.append(item)

    def pop(self):
        if not self.is_empty():
            return self.items.pop()
        raise IndexError("pop from empty stack")

    def peek(self):
        if not self.is_empty():
            return self.items[-1]
        return None

    def is_empty(self):
        return len(self.items) == 0

    def size(self):
        return len(self.items)

# 使用示例
s = Stack()
s.push(10)
s.push(20)
print(s.pop())  # 输出: 20

常见应用场景

  1. 函数调用栈:程序执行时管理函数调用顺序
  2. 表达式求值:如中缀转后缀、括号匹配
  3. 浏览器历史记录:后退按钮功能
  4. 撤销操作(Undo):如文本编辑器中的 Ctrl+Z
  5. 深度优先搜索(DFS):图或树的遍历

小测验(JavaScript 交互)

点击下方按钮模拟压栈和弹栈操作:

当前栈: []

英文论文投稿全流程指南 | 学术期刊投稿步骤与技巧 免费AI作文写作软件 - 智能AI助手帮你轻松写作 | AI写作专题 用什么AI搜题准确率高?2026年主流AI搜题工具对比分析 论文被故意泄露怎么办?学术成果保护与法律解决方案 论文查AI相似度工具 - 专业AI内容检测与降AIGC率解决方案 文状元AI写作价格详解 - 智能写作工具性价比分析 论文抽检是否检测英文内容?全面指南与降AIGC工具推荐 适合写短文的AI软件推荐 | 提升写作效率的智能工具 AI专家项目 | 专业人工智能解决方案与降AI率工具推荐 一般AIGC不能超过多少?| AIGC原创率要求与降AIGC工具指南 文字生成视频AI软件:2026年最佳工具评测与使用指南 如何避开AI检测 | AI内容优化与降AI率技巧专题 本科论文复写率通过标准详解 | 合格查重率要求与降重技巧 毕业论文写作必备 | 电脑使用指南与高效降AIGC工具推荐 校内互检比例算在论文重复率里吗?深度解析与降重方法 毕业设计系统论文检测指南 | 如何通过AIGC检测与降AI率技巧 AI免费生成课题 - 智能选题工具与降AIGC方法全解析 洪涝灾害评估审批事项指南 - 流程、政策与申报要点 AI毕业设计展模板 | 智能创作与降AIGC工具应用 本科论文查重率和AI率是多少合格 | 毕业论文检测标准详解 暴雨洪涝预报与风险评估 | 防灾减灾技术专题 AI写作会不会跟别人重复?解析AI内容原创性与解决方案 AI论文查重原理详解 | 从算法到应用与降AI率方法 AI写总结文章生成器 - 智能内容创作与降AI率解决方案 AI内容审核全解析:原理、流程与降AIGC工具使用指南 AI论文英语写作与降AIGC工具使用指南 | 学术英语专题 四川省地 写论文千万别踩的坑 | 学术写作避坑指南与AIGC检测应对 洪水灾害报告模板 - 专业灾害记录与应对方案 AI读文章应用推荐 | 智能朗读工具与降AIGC解决方案 论文批注如何消失 - 解决方案与工具介绍 AI辅写防检测指南 | 如何让AI生成内容不被识别 论文发表防骗指南 - 如何避免学术投稿上当受骗 论文写作AI助手抖音专题 | AI写作工具与降AI率解决方案 论文写作助手Word插件 | 高效论文写作与AI降重工具 用Paperyy查重会泄露论文吗? | 论文查重安全与降AIGC工具使用指南 AI写作文软件小程序专题 - 智能写作与降AIGC工具指南 论文错别字格式错误检查软件 - 专业学术论文校对工具推荐 AI辅写是什么?全面解析人工智能辅助写作工具与应用 | AI写作专题 AI智能志愿填报入口 - 精准推荐大学与专业 | 智能高考志愿系统 智能AI助手写文章专题 - 高效创作与AIGC检测优化指南 知网查AI写作指南 | 如何通过知网检测AI生成内容与降AIGC方法 洪水灾害分析及应对措施论文专题研究 | 灾害防治与应急管理 怎样去除论文中的AI痕迹 | 专业降AIGC工具使用指南 AI软件作业设计指南 - 高效完成AI课程作业的实用工具与方法 期刊论文发表查重率要低于多少?- 学术论文查重标准指南 AI写作助手作文专题 - 智能写作工具与降AIGC检测解决方案 免费论文格式修改工具 - 专业排版指南与降AIGC检测方案 AI绘制SCI图 | 智能科研绘图工具与降AIGC技术指南 本科论文抄袭判定指南 | 如何避免学术不端与降低AI率 AI专业写毕业论文 | 智能写作与降AIGC工具应用指南 野外洪涝地质灾害风险隐患排查指南 | 专业地质灾害防范专题 论文初稿怎么删掉一页?详细步骤与AI内容处理技巧 英文论文查重过高怎么办?专业降重方法与工具推荐 AI对个人隐私的危害 | 数据安全与隐私保护专题 AI语音原理底层逻辑解析 | 语音识别与合成技术详解 函授本科论文查重严格性分析 | 论文查重标准与降AI率方法 AI声音读文章全攻略:工具推荐与使用技巧 | 音频内容生成专题 洪水征文写作指南 - 如何写出感人至深的洪水主题文章 论文会查重吗?- 全面解析论文查重与降AIGC工具使用 什么AI写文章最好免费?2026年最佳免费AI写作工具推荐 AI辅助论文写作指南 | 智能工具推荐与降AIGC技巧 AI论文工具推荐 | 免费好用的AI论文写作与降重应用大全 零基础论文写作指导 | 新手论文写作技巧与降AIGC方法 AI一键生成视频赚钱吗?- AI视频变现的全面指南 AI工具写论文专题 | 智能写作与降AIGC解决方案 用AI提高效率的10种方法 | AI生产力提升专题 AI写论文查重率会高吗?AI论文降重与查重率解析 AI读稿工具 - 智能语音合成与文稿优化解决方案 AI助力毕业论文与演讲稿写作指南 | 智能写作工具应用专题 AI写作能否代替人类写作作文 | AI写作与人类创作的深度对比 AI绘画在毕业设计中的应用与技巧 - 创意与效率的完美结合 可朗读的AI工具推荐 | AI语音合成与文本转语音工具专题 写文章如何能去掉AI痕迹 - 专业降AI率技巧与工具 SCI论文下载全攻略 | 权威渠道与免费资源汇总 学校会查出代写吗?- 学术诚信与代写检测深度解析 AI智能读稿软件专题 - 智能语音合成与文稿朗读解决方案 查重查不到的资料在哪里?| 专业学术资源查找指南 能写8000字论文的AI工具深度解析 | AI论文写作专题 论文AI评审专题 | 智能化论文质量评估与降AIGC率解决方案 AI写作完全指南:如何用AI高效写文章 | 小发猫降AIGC工具应用 AI写作宝手机版 - 移动端AI写作助手与AIGC内容优化工具 论文打印时需要保留修改痕迹吗?- 学术论文打印指南 湖南大学论文抄袭防范指南 | 学术诚信与AI辅助工具规范 论文查重相似度越低越好吗?- 学术论文查重与降重专业指南 AI辅写软件专题 - 智能写作工具与应用技巧 知网AI写论文指南 | 学术写作与AIGC内容检测优化方案 AI人工智能作文素材大全 | 深度解析与实用案例 AI技术如何撰写高质量文章 | 写作技巧与降AI率工具指南 免费AI论文助手 - 智能写作工具,提升学术效率 | 论文降AIGC指南 AI内容生成完全指南:从创作到降AIGC检测的解决方案 AI绘画的基本原理和方法 - 从原理到实践详解 AI文字生成短视频:原理、应用与降AIGC处理指南 反AI检测对策专题 | 降低AI率方法与工具详解 如何使用AI进行论文润色 | 高效学术写作与AI降重指南 本科毕业论文要查原始数据吗?论文数据真实性全面解析 洪涝预警分析 | 灾害监测与预防指南 AI写医学论文实操指南 - 提高效率与降低AI痕迹的完整教程 AI自动写作神器免费使用教程 - 手把手教你高效创作 专科论文查重率标准详解 | 通过率要求与降重指南