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中类和实例如何绑定属性与方法示例详解
Aug 18 Python
一篇文章快速了解Python的GIL
Jan 12 Python
python获取微信企业号打卡数据并生成windows计划任务
Apr 30 Python
python实现视频读取和转化图片
Dec 10 Python
pycharm无法导入本地模块的解决方式
Feb 12 Python
使用matplotlib动态刷新指定曲线实例
Apr 23 Python
python使用for...else跳出双层嵌套循环的方法实例
May 17 Python
浅谈Python协程
Jun 17 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
Jul 14 Python
Python实现爬取网页中动态加载的数据
Aug 17 Python
Python实现中英文全文搜索的示例
Dec 04 Python
python生成word合同的实例方法
Jan 12 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
DOMXML函数笔记
2006/10/09 PHP
非常不错的MySQL优化的8条经验
2008/03/24 PHP
PHP实现的sqlite数据库连接类
2014/12/12 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
jqTransform form表单美化插件使用方法
2012/07/05 Javascript
JavaScript时间转换处理函数
2015/04/14 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
详解JavaScript语言的基本语法要求
2015/11/20 Javascript
微信小程序之ES6与事项助手的功能实现
2016/11/30 Javascript
webpack配置导致字体图标无法显示的解决方法
2018/03/06 Javascript
详解Vue SPA项目优化小记
2018/07/03 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
javascript设计模式 ? 原型模式原理与应用实例分析
2020/04/10 Javascript
[02:07]2017国际邀请赛中国区预选赛直邀战队前瞻
2017/06/23 DOTA
python清除字符串里非字母字符的方法
2015/07/02 Python
Python实现将HTML转换成doc格式文件的方法示例
2017/11/20 Python
Python实现简易版的Web服务器(推荐)
2018/01/29 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
举例讲解Python常用模块
2019/03/08 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
html5的canvas方法使用指南
2014/12/15 HTML / CSS
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
工商管理本科生求职信
2014/07/13 职场文书
暑期社会实践心得体会
2014/09/02 职场文书
人事文员岗位职责
2015/02/04 职场文书
伏羲庙导游词
2015/02/09 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP