Python基于list的append和pop方法实现堆栈与队列功能示例


Posted in Python onJuly 24, 2017

本文实例讲述了Python基于list的append和pop方法实现堆栈与队列功能。分享给大家供大家参考,具体如下:

#coding=utf8
'''''
堆栈:
堆栈是一个后进先出(LIFO)的数据结构。
在栈上"push"元素是个常用术语,意思是把一个对象添加到堆栈中。
删除一个元素,可以把它"pop"出堆栈。
队列:
队列是一种先进先出(FIFO)的数据类型。
新的元素通过"入队"的方式添加进队列的末尾,
"出对"就是从队列的头部删除。
'''
#创建列表
def creatList():
  initList=[]
  try:
    while True:
      #从键上输入元素
      inputItem=raw_input(u"Enter item(输入quit结束输入):")
      #当输入字符不是quit,把元素加入列表
      #当输入字符是quit,结束输入
      if inputItem!="quit":
        initList.append(inputItem.strip())
      else:
        break
    #返回输入列表
    return initList
  except Exception,e:
    print "Create List Error:",e
#删除列表的第一个元素并返回删除元素
def popTheFirst(List):
  try:
    #判断列表中是否存在元素
    #如果存在元素,删除并返回第一个元素
    #如果不存在,给出提示信息
    if len(List)>0:
      return List.pop(0)
    else:
      print "The list is empty..."
  except Exception,e:
    print "pop the first item Error:",e
#删除列表的最后元素并返回删除元素
def popTheLast(List):
  try:
    #判断列表中是否存在元素
    #如果存在元素,删除并返回最后元素
    #如果不存在,给出提示信息
    if len(List)>0:
      #pop函数默认删除最后一个元素
      return List.pop()
    else:
      print "The list is empty..."
  except Exception,e:
    print "pop the last item Error:",e
#调用creatList函数创建表
listOne=creatList()
#输出创建表信息
print "The init list :",listOne
#调用popTheFirst函数删除并返回第一个元素
theFirst=popTheFirst(listOne)
#输出当前表的第一个元素
print "The first item of list:",theFirst
#调用popTheFirst函数删除并返回最后一个元素
theLast=popTheLast(listOne)
#输出当前表的最后一个元素元素
print "The last item of list:",theLast
'''''
这里的listOne、theFirst、theLast都是全局变量
如果更改上述语句顺序会获取不到想要的结果。
'''

运行结果:

Python基于list的append和pop方法实现堆栈与队列功能示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python自动格式化json文件的方法
Mar 11 Python
使用Python脚本将绝对url替换为相对url的教程
Apr 24 Python
Python实现监控程序执行时间并将其写入日志的方法
Jun 30 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
Jul 06 Python
python使用pycharm环境调用opencv库
Feb 11 Python
python中的常量和变量代码详解
Jul 25 Python
python绘制中国大陆人口热力图
Nov 07 Python
selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)
Nov 29 Python
python批量图片处理简单示例
Aug 06 Python
python程序文件扩展名知识点详解
Feb 27 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
May 12 Python
Python实现Appium端口检测与释放的实现
Dec 31 Python
老生常谈进程线程协程那些事儿
Jul 24 #Python
Django模板变量如何传递给外部js调用的方法小结
Jul 24 #Python
详解Python list 与 NumPy.ndarry 切片之间的对比
Jul 24 #Python
apache部署python程序出现503错误的解决方法
Jul 24 #Python
Python元组操作实例分析【创建、赋值、更新、删除等】
Jul 24 #Python
Python实现购物程序思路及代码
Jul 24 #Python
python实现上传下载文件功能
Nov 19 #Python
You might like
php命名空间学习详解
2014/02/27 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
2016/03/11 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
JavaScript中的私有成员
2006/09/18 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
2013/08/29 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
Chrome扩展页面动态绑定JS事件提示错误
2014/02/11 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
jQuery中prepend()方法用法实例
2014/12/25 Javascript
浅谈javascript面向对象程序设计
2015/01/21 Javascript
javascript瀑布流布局实现方法详解
2016/02/17 Javascript
js拖拽的原型声明和用法总结
2016/04/04 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
localstorage实现带过期时间的缓存功能
2019/06/28 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
2020/08/10 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
[01:28:31]《加油DOTA》真人秀 第五期
2014/09/01 DOTA
50行Python代码实现人脸检测功能
2018/01/23 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
2019/08/20 Python
详解python的变量缓存机制
2021/01/24 Python
CSS3混合模式mix-blend-mode/background-blend-mode简介
2018/03/15 HTML / CSS
澳大利亚家庭花园和DIY工具网店:VidaXL
2019/05/03 全球购物
社会治安综合治理管理责任书
2014/04/16 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
Go语言使用select{}阻塞main函数介绍
2021/04/25 Golang
Python机器学习之PCA降维算法详解
2021/05/19 Python
Ajax异步刷新功能及简单案例
2021/11/20 Javascript
Python开发五子棋小游戏
2022/04/28 Python
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android