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装饰器
May 09 Python
Python采用Django制作简易的知乎日报API
Aug 03 Python
Django验证码的生成与使用示例
May 20 Python
python爬虫使用cookie登录详解
Dec 27 Python
用Python下载一个网页保存为本地的HTML文件实例
May 21 Python
Pycharm 创建 Django admin 用户名和密码的实例
May 30 Python
对python中词典的values值的修改或新增KEY详解
Jan 20 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
Jan 25 Python
使用Python判断一个文件是否被占用的方法教程
Dec 16 Python
flask框架中的cookie和session使用
Jan 31 Python
Python爬取英雄联盟MSI直播间弹幕并生成词云图
Jun 01 Python
Python学习开发之图形用户界面详解
Aug 23 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/08/21 PHP
php中防止SQL注入的最佳解决方法
2013/04/25 PHP
使用cookie实现统计访问者登陆次数
2013/06/08 PHP
ThinkPHP惯例配置文件详解
2014/07/14 PHP
浅谈php+phpStorm+xdebug配置方法
2015/09/17 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
2017/08/10 PHP
初学JavaScript_03(ExtJs Grid的简单使用)
2008/10/02 Javascript
Javascript中的五种数据类型详解
2014/12/26 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
Listloading.js移动端上拉下拉刷新组件
2016/08/04 Javascript
图片懒加载插件实例分享(含解析)
2017/01/09 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
js实现图片3D轮播效果
2019/09/21 Javascript
在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法
2019/09/24 Javascript
浅谈layui 表单元素的选中问题
2019/10/25 Javascript
javascript绘制简单钟表效果
2020/04/07 Javascript
Vue项目打包编译优化方案
2020/09/16 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
JSONLINT:python的json数据验证库实例解析
2017/11/28 Python
mac系统安装Python3初体验
2018/01/02 Python
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
python做量化投资系列之比特币初始配置
2018/01/23 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
python小程序实现刷票功能详解
2019/07/17 Python
CSS3中的元素过渡属性transition示例详解
2016/11/30 HTML / CSS
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
PHP如何设置和取得Cookie值
2015/06/30 面试题
霸气押韵的班级口号
2014/06/09 职场文书
俞敏洪一分钟演讲稿
2014/08/26 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
会计试用期工作总结2015
2015/05/28 职场文书