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 切片和range()用法说明
Mar 24 Python
在Python中操作文件之truncate()方法的使用教程
May 25 Python
Python文件处理
Feb 29 Python
Python处理JSON数据并生成条形图
Aug 05 Python
python中判断文件编码的chardet(实例讲解)
Dec 21 Python
使用python opencv对目录下图片进行去重的方法
Jan 12 Python
Python多线程原理与用法实例剖析
Jan 22 Python
利用pyuic5将ui文件转换为py文件的方法
Jun 19 Python
python 实现在无序数组中找到中位数方法
Mar 03 Python
Python3使用tesserocr识别字母数字验证码的实现
Jan 29 Python
Python获取百度热搜的完整代码
Apr 07 Python
Python爬虫之爬取某文库文档数据
Apr 21 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实现ping
2006/10/09 PHP
php中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
深入解析php模板技术原理【一】
2008/01/10 PHP
php smarty模版引擎中的缓存应用
2009/12/11 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
PHP高精确度运算BC函数库实例详解
2017/08/15 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
thinkphp5实现无限级分类
2019/02/18 PHP
JQuery 选项卡效果(JS与HTML的分离)
2010/04/01 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
nw.js实现类似微信的聊天软件
2015/03/16 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
用yum安装MySQLdb模块的步骤方法
2016/12/15 Python
python生成器,可迭代对象,迭代器区别和联系
2018/02/04 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
2019/07/31 Python
python list转置和前后反转的例子
2019/08/26 Python
python实现手势识别的示例(入门)
2020/04/15 Python
django 解决自定义序列化返回处理数据为null的问题
2020/05/20 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
CSS3中伪元素::before和::after的用法示例
2017/09/18 HTML / CSS
HTML5之语义标签介绍
2016/07/07 HTML / CSS
巴西购物网站:Estrela10
2018/12/13 全球购物
建筑文秘专业个人求职信范文
2013/12/28 职场文书
领导班子四风问题对照检查材料
2014/09/27 职场文书
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技