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 09 Python
Python中支持向量机SVM的使用方法详解
Dec 26 Python
Python+OpenCV目标跟踪实现基本的运动检测
Jul 10 Python
python3 中文乱码与默认编码格式设定方法
Oct 31 Python
python接口自动化测试之接口数据依赖的实现方法
Apr 26 Python
使用Pytorch来拟合函数方式
Jan 14 Python
python批量修改xml属性的实现方式
Mar 05 Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
Mar 09 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
Mar 30 Python
Django之choices选项和富文本编辑器的使用详解
Apr 01 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
Sep 29 Python
教你使用TensorFlow2识别验证码
Jun 11 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单例模式实现(对象只被创建一次)
2012/12/05 PHP
Zend的Registry机制的使用说明
2013/05/02 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
PHP session会话操作技巧小结
2016/09/27 PHP
php抽象类和接口知识点整理总结
2019/08/02 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
2010/07/26 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
2015/01/28 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
javascript函数式编程实例分析
2015/04/25 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
vue2.0 keep-alive最佳实践
2017/07/06 Javascript
基于Axios 常用的请求方法别名(详解)
2018/03/13 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
python 性能提升的几种方法
2016/07/15 Python
python3爬虫之设计签名小程序
2018/06/19 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
Python reversed反转序列并生成可迭代对象
2020/10/22 Python
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
幼教个人求职信范文
2013/12/02 职场文书
毕业生实习鉴定
2013/12/11 职场文书
经典演讲稿范文
2013/12/30 职场文书
中学教师请假制度
2014/02/03 职场文书
英文自荐信常用句子
2014/03/26 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
社保委托书怎么写
2014/08/02 职场文书
2014年党员自我评议对照检查材料
2014/09/20 职场文书
2015年度优秀员工推荐信
2015/03/23 职场文书
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python
MySQL非空约束(not null)案例讲解
2021/08/23 MySQL