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读写txt文本文件的操作方法全解析
Jun 26 Python
详解Python中的静态方法与类成员方法
Feb 28 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
Mar 13 Python
Tensorflow使用tfrecord输入数据格式
Jun 19 Python
pandas的唯一值、值计数以及成员资格的示例
Jul 25 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
Dec 24 Python
详解python的四种内置数据结构
Mar 19 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
Apr 01 Python
python实现合并多个list及合并多个django QuerySet的方法示例
Jun 11 Python
Django CBV模型源码运行流程详解
Aug 17 Python
10个示例带你掌握python中的元组
Nov 23 Python
python中zip()函数遍历多个列表方法
Feb 18 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基础知识:函数基础知识
2006/12/13 PHP
数组任意位置插入元素,删除特定元素的实例
2017/03/02 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
jquery text()要注意啦
2009/10/30 Javascript
css+js实现部分区域高亮可编辑遮罩层
2014/03/04 Javascript
常用javascript表单验证汇总
2020/07/20 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
2016/09/05 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
详解适配器在JavaScript中的体现
2018/09/28 Javascript
vue里如何主动销毁keep-alive缓存的组件
2019/03/21 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
2019/12/07 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
Python中list初始化方法示例
2016/09/18 Python
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
python Crypto模块的安装与使用方法
2017/12/21 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
2018/04/18 Python
python Tkinter版学生管理系统
2019/02/20 Python
使用python打印十行杨辉三角过程详解
2019/07/10 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
GWebs公司笔试题
2012/05/04 面试题
小区门卫管理制度
2014/01/29 职场文书
人事专员的岗位职责
2014/03/01 职场文书
工艺工程师岗位职责
2014/03/04 职场文书
挂牌仪式主持词
2014/03/20 职场文书
语文教研活动总结
2014/07/02 职场文书
神龙架导游词
2015/02/11 职场文书
辩论会主持词
2015/07/03 职场文书
解析MySQL binlog
2021/06/11 MySQL
一条 SQL 语句执行过程
2022/03/17 MySQL
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python