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实现网站文件的全备份和差异备份
Nov 30 Python
Python的Flask框架中@app.route的用法教程
Mar 31 Python
python类和函数中使用静态变量的方法
May 09 Python
python+selenium实现京东自动登录及秒杀功能
Nov 18 Python
python如何去除字符串中不想要的字符
Jul 05 Python
django表单实现下拉框的示例讲解
May 29 Python
transform python环境快速配置方法
Sep 27 Python
python 处理数字,把大于上限的数字置零实现方法
Jan 28 Python
Django框架实现的分页demo示例
May 25 Python
基于python traceback实现异常的获取与处理
Dec 13 Python
记一次Django响应超慢的解决过程
Sep 17 Python
Python实战之OpenCV实现猫脸检测
Jun 26 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调用数据库的存贮过程
2006/10/09 PHP
PHP 函数执行效率的小比较
2010/10/17 PHP
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
Three.js源码阅读笔记(基础的核心Core对象)
2012/12/27 Javascript
Javascript 加载和执行-性能提高篇
2012/12/28 Javascript
JavaScript中的console.profile()函数详细介绍
2014/12/29 Javascript
js计算德州扑克牌面值的方法
2015/03/04 Javascript
AngularJS 入门教程之事件处理器详解
2016/08/19 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
Bootstrap Img 图片样式(推荐)
2016/12/13 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
vue cli 全面解析
2018/02/28 Javascript
vue实现点击展开点击收起效果
2018/04/27 Javascript
自己动手封装一个React Native多级联动
2018/09/19 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
小程序开发中如何使用async-await并封装公共异步请求的方法
2019/01/20 Javascript
Vue CL3 配置路径别名详解
2019/05/30 Javascript
js实现带搜索功能的下拉框
2020/01/11 Javascript
Vue环境搭建+VSCode+Win10的详细教程
2020/08/19 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
新学期红领巾广播稿
2014/01/14 职场文书
粗加工管理制度
2014/02/04 职场文书
基层党员对照检查材料
2014/09/24 职场文书
公司放假通知怎么写
2015/04/15 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
2020年元旦祝福语录,总有适合你的
2019/12/31 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers
Python 多线程之threading 模块的使用
2021/04/14 Python
golang中的空slice案例
2021/04/27 Golang
Axios代理配置及封装响应拦截处理方式
2022/04/07 Vue.js