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 socket网络编程步骤详解(socket套接字使用)
Dec 06 Python
跟老齐学Python之玩转字符串(2)
Sep 14 Python
在Django的视图(View)外使用Session的方法
Jul 23 Python
python 实现在txt指定行追加文本的方法
Apr 29 Python
Python用于学习重要算法的模块pygorithm实例浅析
Aug 16 Python
对python mayavi三维绘图的实现详解
Jan 08 Python
python画图的函数用法以及技巧
Jun 28 Python
Python线上环境使用日志的及配置文件
Jul 28 Python
pytorch的batch normalize使用详解
Jan 15 Python
python如何写出表白程序
Jun 01 Python
Python Pandas数据分析工具用法实例
Nov 05 Python
基于PyInstaller各参数的含义说明
Mar 04 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
一个域名查询的程序
2006/10/09 PHP
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
PHP中文汉字验证码
2007/04/08 PHP
用PHP查询搜索引擎排名位置的代码
2010/01/05 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
php目录拷贝实现方法
2015/07/10 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
2020/05/12 PHP
JavaScript 拾碎[三] 使用className属性
2010/10/16 Javascript
js中设置元素class的三种方法小结
2011/08/28 Javascript
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
AngularJS中取消对HTML片段转义的方法例子
2015/01/04 Javascript
jquery实现兼容IE8的异步上传文件
2015/06/15 Javascript
jQuery绑定事件-多种实现方式总结
2016/05/09 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
2017/04/04 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
javascript简单写的判断电话号码实例
2017/05/24 Javascript
AngularJS入门教程一:路由用法初探
2017/05/27 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
微信小程序音乐播放器开发
2019/11/20 Javascript
Vue开发中遇到的跨域问题及解决方法
2020/02/11 Javascript
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
python的绘图工具matplotlib使用实例
2014/07/03 Python
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
python 读取DICOM头文件的实例
2018/05/07 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
全球最大的跑步用品商店:Road Runner Sports
2016/09/11 全球购物
有个性的自我评价范文
2013/11/15 职场文书
大学考试作弊检讨书
2014/01/30 职场文书
办公室岗位职责
2014/02/12 职场文书
开业庆典活动策划方案
2014/09/21 职场文书
司法局群众路线教育实践活动整改措施思想汇报
2014/10/13 职场文书
刑事附带民事起诉状
2015/05/19 职场文书
高三化学教学反思
2016/02/22 职场文书
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP