Python基于列表模拟堆栈和队列功能示例


Posted in Python onJanuary 05, 2018

本文实例讲述了Python基于列表模拟堆栈和队列功能。分享给大家供大家参考,具体如下:

之前的文章https://3water.com/article/59897.htm介绍了堆栈与队列的Python实现方法,这里使用列表来模拟一下堆栈与队列的简单操作。

一、队列特点:先进先出、后进后出

用列表insert、pop模拟进队出队:

>>> l = []
>>> l.insert(0,'p1')
>>> l.insert(0,'p2')
>>> l.insert(0,'p3')
>>> l
['p3', 'p2', 'p1']
>>> l.pop()
'p1'
>>> l.pop()
'p2'
>>> l.pop()
'p3'

用列表append、pop模拟进队出队:

>>> l = []
>>> l.append('p1')
>>> l.append('p2')
>>> l.append('p3')
>>> l
['p1', 'p2', 'p3']
>>> l.pop(0)
'p1'
>>> l.pop(0)
'p2'
>>> l.pop(0)
'p3'

二、堆栈特点:先进后出、后进先出

用列表insert、pop方法模拟进栈出栈:

>>> l = []
>>> l.insert(0,'a1')
>>> l.insert(0,'a2')
>>> l.insert(0,'a3')
>>> l
['a3', 'a2', 'a1']
>>> l.pop(0)
'a3'
>>> l.pop(0)
'a2'
>>> l.pop(0)
'a1'

用列表append、pop方法模式进栈出栈:

>>> l = []
>>> l.append('a1')
>>> l.append('a2')
>>> l.append('a3')
>>> l
['a1', 'a2', 'a3']
>>> l.pop()
'a3'
>>> l.pop()
'a2'
>>> l.pop()
'a1'

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python实现删除Android工程中的冗余字符串
Jan 19 Python
Python计算字符宽度的方法
Jun 14 Python
numpy中矩阵合并的实例
Jun 15 Python
Python判断telnet通不通的实例
Jan 26 Python
python把ipynb文件转换成pdf文件过程详解
Jul 09 Python
numpy求平均值的维度设定的例子
Aug 24 Python
Python Django实现layui风格+django分页功能的例子
Aug 29 Python
Python之数据序列化(json、pickle、shelve)详解
Aug 30 Python
浅析PEP572: 海象运算符
Oct 15 Python
简述python四种分词工具,盘点哪个更好用?
Apr 13 Python
撤回我也能看到!教你用Python制作微信防撤回脚本
Jun 11 Python
Python基于百度AI实现抓取表情包
Jun 27 Python
Django 2.0版本的新特性抢先看!
Jan 05 #Python
微信跳一跳游戏python脚本
Apr 01 #Python
Python基于列表list实现的CRUD操作功能示例
Jan 05 #Python
django 2.0更新的10条注意事项总结
Jan 05 #Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
Jan 05 #Python
python with提前退出遇到的坑与解决方案
Jan 05 #Python
微信跳一跳小游戏python脚本
Jan 05 #Python
You might like
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
从PHP $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
php上传文件中文文件名乱码的解决方法
2013/11/01 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
2014/09/09 Javascript
使用FlexiGrid实现Extjs表格效果方法分享
2014/12/16 Javascript
JS打开新窗口防止被浏览器阻止的方法
2015/01/03 Javascript
jQuery学习笔记之2个小技巧
2015/01/19 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
实例详解Nodejs 保存 payload 发送过来的文件
2016/01/14 NodeJs
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
NodeJS创建最简单的HTTP服务器
2017/05/15 NodeJs
Three.js入门之hello world以及如何绘制线
2017/09/25 Javascript
Angular ng-animate和ng-cookies用法详解
2018/04/18 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
极简的Python入门指引
2015/04/01 Python
使用Python来开发Markdown脚本扩展的实例分享
2016/03/04 Python
python中实现迭代器(iterator)的方法示例
2017/01/19 Python
手把手教你用python抢票回家过年(代码简单)
2018/01/21 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
Python 如何测试文件是否存在
2020/07/31 Python
CSS3中的Transition过度与Animation动画属性使用要点
2016/05/20 HTML / CSS
欧舒丹美国官网:L’Occitane美国
2018/02/23 全球购物
Trench London官方网站:高级风衣和意大利皮夹克
2020/07/11 全球购物
几个Shell Script面试题
2014/04/18 面试题
个性发展自我评价
2014/02/11 职场文书
2015年国税春训心得体会
2015/03/09 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
企业文化学习心得体会
2016/01/21 职场文书
苹果电脑mac os中货币符号快捷输入
2022/02/17 杂记