Python队列的定义与使用方法示例


Posted in Python onJune 24, 2017

本文实例讲述了Python队列的定义与使用方法。分享给大家供大家参考,具体如下:

虽然Python有自己的队列模块,我们只需要在使用时引入该模块就行,但是为了更好的理解队列,自己将队列实现了一下。

队列是一种数据结构,它的特点是先进先出,也就是说队尾添加一个元素,队头移除一个元素,类似于商场排队结账,先来的人先接账,后来的排在队尾。在我们日常生活中,发送短信就会用到队列。下面是Python实现队列的代码:

#!/usr/bin/python
#coding=utf-8
class Queue(object) :
 def __init__(self, size) :
  self.size = size
  self.queue = []
 def __str__(self) :
  return str(self.queue)
 #获取队列的当前长度
 def getSize(self) :
  return len(self.quene)
 #入队,如果队列满了返回-1或抛出异常,否则将元素插入队列尾
 def enqueue(self, items) :
  if self.isfull() :
   return -1
   #raise Exception("Queue is full")
  self.queue.append(items)
 #出队,如果队列空了返回-1或抛出异常,否则返回队列头元素并将其从队列中移除
 def dequeue(self) :
  if self.isempty() :
   return -1
   #raise Exception("Queue is empty")
  firstElement = self.queue[0]
  self.queue.remove(firstElement)
  return firstElement
 #判断队列满
 def isfull(self) :
  if len(self.queue) == self.size :
   return True
  return False
 #判断队列空
 def isempty(self) :
  if len(self.queue) == 0 :
   return True
  return False

下面是该队列类.py文件的测试代码:

if __name__ == '__main__' :
 queueTest = Queue(10)
 for i in range(10) :
  queueTest.enqueue(i)
 print queueTest.isfull()
 print queueTest
 print queueTest.getSize()
 for i in range(5) :
  print queueTest.dequeue()
 print queueTest.isempty()
 print queueTest
 print queueTest.getSize()

测试结果:

Python队列的定义与使用方法示例

更多关于Python相关内容可查看本站专题:《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python multiprocessing.Manager介绍和实例(进程间共享数据)
Nov 21 Python
python实现逆波兰计算表达式实例详解
May 06 Python
python解决方案:WindowsError: [Error 2]
Aug 28 Python
深入理解NumPy简明教程---数组2
Dec 17 Python
python中从str中提取元素到list以及将list转换为str的方法
Jun 26 Python
解决在pycharm中显示额外的 figure 窗口问题
Jan 15 Python
python3实现表白神器
Apr 09 Python
pandas分区间,算频率的实例
Jul 04 Python
Java Spring项目国际化(i18n)详细方法与实例
Mar 20 Python
如何写python的配置文件
Jun 07 Python
Python中random模块常用方法的使用教程
Oct 04 Python
Docker如何部署Python项目的实现详解
Oct 26 Python
Python实现字符串逆序输出功能示例
Jun 24 #Python
Python正则表达式分组概念与用法详解
Jun 24 #Python
Python正则表达式常用函数总结
Jun 24 #Python
Python实现好友全头像的拼接实例(推荐)
Jun 24 #Python
Python实现的爬虫功能代码
Jun 24 #Python
python3操作mysql数据库的方法
Jun 23 #Python
Python 中pandas.read_excel详细介绍
Jun 23 #Python
You might like
桌面中心(二)数据库写入
2006/10/09 PHP
javascript,php获取函数参数对象的代码
2011/02/03 PHP
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
2012/03/27 PHP
php中curl使用指南
2015/02/05 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
2015/02/07 PHP
php获取远程文件内容的函数
2015/11/02 PHP
盘点PHP和ASP.NET的10大对比!
2015/12/24 PHP
云网广告中的代码,提示出错,大家找找
2006/11/21 Javascript
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
JS option location 页面跳转实现代码
2008/12/27 Javascript
jQuery LigerUI 使用教程入门篇
2012/01/18 Javascript
Extjs中ComboBox加载并赋初值的实现方法
2012/03/22 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
jQuery实现简单的间隔向上滚动效果
2015/03/09 Javascript
js 提交form表单和设置form表单请求路径的实现方法
2016/10/25 Javascript
js中DOM三级列表(代码分享)
2017/03/20 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
关于vue-router的beforeEach无限循环的问题解决
2017/09/09 Javascript
Node配合WebSocket做多文件下载以及进度回传
2019/11/07 Javascript
[01:07:46]完美世界DOTA2联赛循环赛 Magma vs IO BO2第二场 11.01
2020/11/02 DOTA
python中安装模块包版本冲突问题的解决
2017/05/02 Python
使用Python处理BAM的方法
2018/09/28 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
Pytorch根据layers的name冻结训练方式
2020/01/06 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
历史教育专业个人求职信
2013/12/13 职场文书
廉洁使者实施方案
2014/03/29 职场文书
小学生个人先进事迹材料
2014/05/08 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
高校群众路线教育实践活动剖析材料
2014/10/10 职场文书
2014年评职称工作总结
2014/11/20 职场文书
董事长助理岗位职责
2015/02/11 职场文书
2015年上半年党建工作总结
2015/03/30 职场文书