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中获取网页状态码的两个方法
Nov 03 Python
python http接口自动化脚本详解
Jan 02 Python
Python中常用信号signal类型实例
Jan 25 Python
Python DataFrame设置/更改列表字段/元素类型的方法
Jun 09 Python
numpy的文件存储.npy .npz 文件详解
Jul 09 Python
python对于requests的封装方法详解
Jan 03 Python
python定时按日期备份MySQL数据并压缩
Apr 19 Python
Python中的asyncio代码详解
Jun 10 Python
python对指定字符串逆序的6种方法(小结)
Apr 02 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
Jun 11 Python
对Python 字典元素进行删除的方法
Jul 31 Python
python模块内置属性概念及实例
Feb 18 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的ajax框架xajax入门与试用介绍
2010/12/19 PHP
浅析php数据类型转换
2014/01/09 PHP
php生成带logo二维码方法小结
2016/04/08 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
PHP中cookie知识点学习
2018/05/06 PHP
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
artDialog+plupload实现多文件上传
2016/07/19 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
JS实现的文字间歇循环滚动效果完整示例
2018/02/13 Javascript
js操作二进制数据方法
2018/03/03 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
vue 纯js监听滚动条到底部的实例讲解
2018/09/03 Javascript
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
纯JS实现五子棋游戏
2020/05/28 Javascript
js实现简单的无缝轮播效果
2020/09/05 Javascript
Python GAE、Django导出Excel的方法
2008/11/24 Python
跟老齐学Python之dict()的操作方法
2014/09/24 Python
python结合API实现即时天气信息
2016/01/19 Python
python字符串的常用操作方法小结
2016/05/21 Python
Python中return self的用法详解
2018/07/27 Python
有关Python的22个编程技巧
2018/08/29 Python
python工具快速为音视频自动生成字幕(使用说明)
2021/01/27 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
Redbubble法国:由独立艺术家设计的独特产品
2019/01/08 全球购物
.NET初级开发工程师面试题(包括Javascript)
2012/08/22 面试题
动态密码技术
2012/10/18 面试题
客服文员岗位职责
2013/11/29 职场文书
文明餐桌行动实施方案
2014/02/19 职场文书
反邪教宣传工作方案
2014/05/07 职场文书
有关环保的标语
2014/06/13 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
医学会议开幕词
2016/03/03 职场文书
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python