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编程中的文件操作攻略
Oct 16 Python
Python基于pygame模块播放MP3的方法示例
Sep 30 Python
pandas数据框,统计某列数据对应的个数方法
Apr 11 Python
Tensorflow 同时载入多个模型的实例讲解
Jul 27 Python
python批量复制图片到另一个文件夹
Sep 17 Python
Python集合基本概念与相关操作实例分析
Oct 30 Python
tensorflow 初始化未初始化的变量实例
Feb 06 Python
Python try except else使用详解
Jan 12 Python
Python页面加载的等待方式总结
Feb 28 Python
pyx文件 生成pyd 文件用于 cython调用的实现
Mar 04 Python
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
Apr 25 Python
Python编程源码报错解决方法总结经验分享
Oct 05 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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
php中的时间显示
2007/01/18 PHP
php使用pdo连接mssql server数据库实例
2014/12/25 PHP
php循环table实现一行两列显示的方法
2015/06/04 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
跟我一起学写jQuery插件开发方法(附完整实例及下载)
2010/04/01 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
jQuery实现图片渐入渐出切换展示效果
2015/08/15 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
基于JavaScript实现前端文件的断点续传
2016/10/17 Javascript
nuxt.js中间件实现拦截权限判断的方法
2018/11/21 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
vue使用video.js进行视频播放功能
2019/07/18 Javascript
vue下拉刷新组件的开发及slot的使用详解
2020/12/23 Vue.js
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
python实现的重启关机程序实例
2014/08/21 Python
对Python 语音识别框架详解
2018/12/24 Python
python+opencv实现阈值分割
2018/12/26 Python
Python中调用其他程序的方式详解
2019/08/06 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
2019/08/27 Python
Python实现数值积分方式
2019/11/20 Python
Python字符串格式化常用手段及注意事项
2020/06/17 Python
css3使用animation属性实现炫酷效果(推荐)
2020/02/04 HTML / CSS
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
h5调用摄像头的实现方法
2016/06/01 HTML / CSS
优秀中专生推荐信
2013/11/17 职场文书
证婚人经典证婚词
2014/01/09 职场文书
国际贸易专业个人鉴定
2014/02/22 职场文书
法制宣传教育方案
2014/05/09 职场文书
小学三好学生事迹材料
2014/08/15 职场文书
机关干部作风建设剖析材料
2014/10/23 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书
思想工作总结范文
2015/08/12 职场文书
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python
Python线程池与GIL全局锁实现抽奖小案例
2022/04/13 Python