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的Django框架中用流响应生成CSV文件的教程
May 02 Python
K-近邻算法的python实现代码分享
Dec 09 Python
Python入门必须知道的11个知识点
Mar 21 Python
Python实现时间序列可视化的方法
Aug 06 Python
Python使用scrapy爬取阳光热线问政平台过程解析
Aug 14 Python
使用python实现回文数的四种方法小结
Nov 24 Python
python分布式计算dispy的使用详解
Dec 22 Python
python 安装移动复制第三方库操作
Jul 13 Python
python 利用toapi库自动生成api
Oct 19 Python
python 实现aes256加密
Nov 27 Python
用python制作个视频下载器
Feb 01 Python
Python torch.flatten()函数案例详解
Aug 30 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环境下利用session防止页面重复刷新的具体实现
2014/01/09 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
php修改指定文件后缀的方法
2014/09/11 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
更快的异步执行(setTimeout多浏览器)
2014/08/12 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
jQuery编写textarea输入字数限制代码
2017/03/23 jQuery
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
详解cordova打包成webapp的方法
2017/10/18 Javascript
bootstrap轮播模板使用方法详解
2017/11/17 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
2020/02/17 Javascript
React冒泡和阻止冒泡的应用详解
2020/08/18 Javascript
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
django实现前后台交互实例
2017/08/07 Python
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
儿童学习python的一些小技巧
2018/05/27 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
通过pycharm使用git的步骤(图文详解)
2019/06/13 Python
详解解决Python memory error的问题(四种解决方案)
2019/08/08 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
加热夹克:RAVEAN
2018/10/19 全球购物
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
学生评语大全
2014/04/18 职场文书
四年级学生评语大全
2014/04/21 职场文书
期末学生评语大全
2014/04/24 职场文书
三八妇女节活动总结
2014/05/04 职场文书
捐助倡议书
2015/01/19 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers
SQL Server的存储过程与触发器以及系统函数和自定义函数
2022/04/10 SQL Server