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格式化字符串实例总结
Sep 28 Python
python中解析json格式文件的方法示例
May 03 Python
Django的分页器实例(paginator)
Dec 01 Python
Python之Scrapy爬虫框架安装及简单使用详解
Dec 22 Python
200 行python 代码实现 2048 游戏
Jan 12 Python
python 通过字符串调用对象属性或方法的实例讲解
Apr 21 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
Feb 25 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
Feb 04 Python
Python3运算符常见用法分析
Feb 14 Python
python使用pyecharts库画地图数据可视化的实现
Mar 25 Python
python 深度学习中的4种激活函数
Sep 18 Python
python实现PolynomialFeatures多项式的方法
Jan 06 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
计数器详细设计
2006/10/09 PHP
数据库的日期格式转换
2006/10/09 PHP
浅析Yii2 GridView实现下拉搜索教程
2016/04/22 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
使用jQuery.wechat构建微信WEB应用
2014/10/09 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
vue.js 表格分页ajax 异步加载数据
2016/10/18 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
2016/12/13 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
JavaScript事件冒泡与事件捕获实例分析
2018/08/01 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
Vue源码解析之Template转化为AST的实现方法
2018/12/14 Javascript
微信小程序实现授权登录
2019/05/15 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
2019/07/06 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
vue请求数据的三种方式
2020/03/04 Javascript
Vue组件间数据传递的方式(3种)
2020/07/13 Javascript
Python3读取UTF-8文件及统计文件行数的方法
2015/05/22 Python
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
pygame游戏之旅 按钮上添加文字的方法
2018/11/21 Python
django如何实现视图重定向
2019/07/24 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
Python切图九宫格的实现方法
2019/10/10 Python
Python使用pymysql模块操作mysql增删改查实例分析
2019/12/19 Python
Viking Direct荷兰:购买办公用品
2019/06/20 全球购物
电脑教师的教学自我评价
2013/11/26 职场文书
前台文员岗位职责
2013/12/28 职场文书
民生工作实施方案
2014/05/31 职场文书
门店店长岗位职责
2015/04/14 职场文书
导游词之绍兴柯岩古镇
2020/01/09 职场文书
MySQL数据库 任意ip连接方法
2022/05/20 MySQL