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 相关文章推荐
windows下wxPython开发环境安装与配置方法
Jun 28 Python
Python基础教程之正则表达式基本语法以及re模块
Mar 25 Python
python使用正则表达式的search()函数实现指定位置搜索功能
Nov 10 Python
Python中property属性实例解析
Feb 10 Python
python2.7和NLTK安装详细教程
Sep 19 Python
Python 多线程不加锁分块读取文件的方法
Dec 11 Python
Python 利用切片从列表中取出一部分使用的方法
Feb 01 Python
python实现微信每日一句自动发送给喜欢的人
Apr 29 Python
Python分支语句与循环语句应用实例分析
May 07 Python
Python3视频转字符动画的实例代码
Aug 29 Python
python实现的分层随机抽样案例
Feb 25 Python
python-图片流传输的思路及示例(url转换二维码)
Dec 21 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运行时动态创建函数的方法
2015/03/16 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
2016/10/13 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
javascript 学习笔记(一)DOM基本操作
2011/04/08 Javascript
node.js中的fs.renameSync方法使用说明
2014/12/16 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
javascript HTML5 canvas实现打砖块游戏
2020/06/18 Javascript
微信小程序开发实战教程之手势解锁
2016/11/18 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
js+html5生成自动排列对话框实例
2017/10/09 Javascript
使用vue-cli导入Element UI组件的方法
2018/05/16 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
vue项目引入ts步骤(小结)
2019/10/31 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
Vue computed 计算属性代码实例
2020/04/22 Javascript
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
python executemany的使用及注意事项
2017/03/13 Python
Python对List中的元素排序的方法
2018/04/01 Python
python实现超简单的视频对象提取功能
2018/06/04 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
python实现TCP文件传输
2020/03/20 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
2020/10/28 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
Servlet方面面试题
2016/09/28 面试题
同学会邀请书大全
2014/01/12 职场文书
工伤赔偿协议书范本
2014/04/15 职场文书
认购协议书范本
2014/04/22 职场文书
暑期家教宣传单
2015/07/14 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL