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(一)Python环境安装
Aug 20 Python
Python中使用Beautiful Soup库的超详细教程
Apr 30 Python
Python中的多行注释文档编写风格汇总
Jun 16 Python
python list排序的两种方法及实例讲解
Mar 20 Python
Django自定义manage命令实例代码
Feb 11 Python
python远程连接服务器MySQL数据库
Jul 02 Python
Python基于递归算法求最小公倍数和最大公约数示例
Jul 27 Python
浅谈Python中os模块及shutil模块的常规操作
Apr 03 Python
解决pyqt5异常退出无提示信息的问题
Apr 08 Python
Python使用20行代码实现微信聊天机器人
Jun 05 Python
详解python的super()的作用和原理
Oct 29 Python
python中%格式表达式实例用法
Jun 18 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
用Flash图形化数据(一)
2006/10/09 PHP
PHP+Tidy-完美的XHTML纠错+过滤
2007/04/10 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
laravel解决迁移文件一次删除创建字段报错的问题
2019/10/24 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
刷新页面实现方式总结(HTML,ASP,JS)
2008/11/13 Javascript
csdn 批量接受好友邀请
2009/02/19 Javascript
var与Javascript变量隐式声明
2009/09/17 Javascript
js 上下左右键控制焦点(示例代码)
2013/12/14 Javascript
JS关闭窗口与JS关闭页面的几种方法小结
2013/12/17 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
node.js中的emitter.on方法使用说明
2014/12/10 Javascript
jquery使用hide方法隐藏指定id的元素
2015/03/30 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
js事件处理程序跨浏览器解决方案
2016/03/27 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
常用的js验证和数据处理总结
2016/08/02 Javascript
js实现tab选项卡切换功能
2017/01/13 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
2018/11/02 Javascript
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
分享一个vue项目“脚手架”项目的实现步骤
2019/05/26 Javascript
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
python实现简易内存监控
2018/06/21 Python
Python使用googletrans报错的解决方法
2018/09/25 Python
在python环境下运用kafka对数据进行实时传输的方法
2018/12/27 Python
python实现Excel文件转换为TXT文件
2019/04/28 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
2020/03/02 Python
Pytorch生成随机数Tensor的方法汇总
2020/09/09 Python
浅析Python 责任链设计模式
2020/09/11 Python
Python引入多个模块及包的概念过程解析
2020/09/21 Python
phonegap常用事件总结(必看篇)
2017/03/31 HTML / CSS
雅高酒店中国:Accorhotels.com China
2018/03/26 全球购物
导游词之襄阳古城
2019/09/27 职场文书