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判断windows系统是32位还是64位的方法
May 11 Python
Python中操作符重载用法分析
Apr 29 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
Apr 23 Python
python实现生成字符串大小写字母和数字的各种组合
Jan 01 Python
Django之创建引擎索引报错及解决详解
Jul 17 Python
Django REST framework 如何实现内置访问频率控制
Jul 23 Python
Python 多线程其他属性以及继承Thread类详解
Aug 28 Python
Python多线程Threading、子线程与守护线程实例详解
Mar 24 Python
使用Keras加载含有自定义层或函数的模型操作
Jun 10 Python
使用py-spy解决scrapy卡死的问题方法
Sep 29 Python
虚拟环境及venv和virtualenv的区别说明
Feb 05 Python
python 批量压缩图片的脚本
Jun 02 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
php自动加载的两种实现方法
2010/06/21 PHP
Zend Studio (eclipse)使用速度优化方法
2011/03/23 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
php 解决扫描二维码下载跳转问题
2017/01/13 PHP
JavaScript 继承详解(四)
2009/07/13 Javascript
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
javascript温习的一些笔记 基础常用知识小结
2011/06/22 Javascript
ejs v9 javascript模板系统
2012/03/21 Javascript
js 实现日期灵活格式化的小例子
2013/07/14 Javascript
jQuery中removeProp()方法用法实例
2015/01/05 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
解决vue中post方式提交数据后台无法接收的问题
2018/08/11 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
vue实现井字棋游戏
2020/09/29 Javascript
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
[51:53]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第二场 1月24日
2021/03/11 DOTA
Python开发WebService系列教程之REST,web.py,eurasia,Django
2014/06/30 Python
Python中return语句用法实例分析
2015/08/04 Python
python Django模板的使用方法
2016/01/14 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
FLOS美国官网:意大利高级照明工艺的传奇
2018/08/07 全球购物
欧洲著名的二手奢侈品网站:Vestiaire Collective
2020/03/07 全球购物
开学典礼感言
2014/02/16 职场文书
2014信息公开实施方案
2014/02/22 职场文书
财务简历的自我评价
2014/03/05 职场文书
婚礼答谢宴主持词
2014/03/14 职场文书
小学数学教学经验交流材料
2014/05/22 职场文书
企业形象策划方案
2014/05/29 职场文书
汉语拼音教学反思
2016/02/22 职场文书
2019年员工旷工保证书!
2019/06/28 职场文书