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语句、函数与方法的使用技巧总结
Dec 08 Python
Python读取指定目录下指定后缀文件并保存为docx
Apr 23 Python
基于Python对象引用、可变性和垃圾回收详解
Aug 21 Python
Python嵌套式数据结构实例浅析
Mar 05 Python
Python 通过打码平台实现验证码的实现
May 13 Python
Django框架ORM数据库操作实例详解
Nov 07 Python
Django 批量插入数据的实现方法
Jan 12 Python
Python操作Sqlite正确实现方法解析
Feb 05 Python
基于Python脚本实现邮件报警功能
May 20 Python
用python删除文件夹中的重复图片(图片去重)
May 12 Python
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
May 25 Python
python操作xlsx格式文件并读取
Jun 02 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 事务处理数据实现代码
2010/05/13 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
Yii中实现处理前后台登录的新方法
2015/12/28 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
thinkPHP数据库增删改查操作方法实例详解
2016/12/06 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
PHP实现简单登录界面
2019/10/23 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
Javascript代码实现仿实例化类
2015/04/03 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
Angular-Touch库用法示例
2016/12/22 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
Vue表单验证插件Vue Validator使用方法详解
2017/04/07 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
angularjs结合html5实现拖拽功能
2018/06/25 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
js 计数排序的实现示例(升级版)
2020/01/12 Javascript
pycharm 使用心得(三)Hello world!
2014/06/05 Python
python实现用户登陆邮件通知的方法
2015/07/09 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
django 微信网页授权认证api的步骤详解
2019/07/30 Python
详解pandas使用drop_duplicates去除DataFrame重复项参数
2019/08/01 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
CSS3 渐变(Gradients)之CSS3 线性渐变
2016/07/08 HTML / CSS
露营世界:Camping World
2017/02/02 全球购物
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
银行实习鉴定
2013/12/13 职场文书
社区工作者先进事迹
2014/01/18 职场文书
餐饮部总监岗位职责范文
2014/02/13 职场文书
美容院营销方案
2014/03/05 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
中秋联欢会主持词
2015/07/04 职场文书
Python实现制作销售数据可视化看板详解
2021/11/27 Python
Redis如何实现验证码发送 以及限制每日发送次数
2022/04/18 Redis