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删除列表中重复记录的方法
Apr 28 Python
Python数据分析之双色球中蓝红球分析统计示例
Feb 03 Python
基于Python 装饰器装饰类中的方法实例
Apr 21 Python
python使用opencv对图像mask处理的方法
Jul 05 Python
对django views中 request, response的常用操作详解
Jul 17 Python
详解python中自定义超时异常的几种方法
Jul 29 Python
python 模拟创建seafile 目录操作示例
Sep 26 Python
Python 中如何实现参数化测试的方法示例
Dec 10 Python
django3.02模板中的超链接配置实例代码
Feb 04 Python
PyQT5 实现快捷键复制表格数据的方法示例
Jun 19 Python
Python标准库之typing的用法(类型标注)
Jun 02 Python
Python实现Excel文件的合并(以新冠疫情数据为例)
Mar 20 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
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
用JavaScript对JSON进行模式匹配(Part 1-设计)
2010/07/17 Javascript
DOM和XMLHttpRequest对象的属性和方法整理
2012/01/04 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
实例详解jQuery Mockjax 插件模拟 Ajax 请求
2016/01/12 Javascript
JS中位置与大小的获取方法
2016/11/22 Javascript
AJAX和jQuery动态加载数据的实现方法
2016/12/05 Javascript
select下拉框插件jquery.editable-select详解
2017/01/22 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
2017/04/25 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
2017/06/28 Javascript
VUE中使用Vue-resource完成交互
2017/07/21 Javascript
JS实现Cookie读、写、删除操作工具类示例
2018/08/28 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
python实现的简单猜数字游戏
2015/04/04 Python
在Gnumeric下使用Python脚本操作表格的教程
2015/04/14 Python
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
2019/07/11 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
NET程序员上机面试题
2015/05/23 面试题
职高毕业生自我鉴定
2013/10/21 职场文书
自我评价格式
2014/01/06 职场文书
数控技术专业毕业自荐书范文
2014/02/05 职场文书
法律专业学生的自我评价
2014/02/07 职场文书
消防标语大全
2014/06/07 职场文书
大跃进口号
2014/06/16 职场文书
五一口号
2014/06/19 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
音乐兴趣小组活动总结
2014/07/07 职场文书
财务经理岗位职责范本
2015/04/08 职场文书
2016元旦主持人经典开场白台词
2015/12/03 职场文书
检举信的写法
2019/04/10 职场文书
2019教师的学习计划
2019/06/25 职场文书