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在windows下实现ping操作并接收返回信息的方法
Mar 20 Python
使用python实现正则匹配检索远端FTP目录下的文件
Mar 25 Python
初步讲解Python中的元组概念
May 21 Python
python中装饰器级连的使用方法示例
Sep 29 Python
python ansible服务及剧本编写
Dec 29 Python
python入门教程 python入门神图一张
Mar 05 Python
解决新django中的path不能使用正则表达式的问题
Dec 18 Python
pyqt5 获取显示器的分辨率的方法
Jun 18 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
Jun 21 Python
python 3.8.3 安装配置图文教程
May 21 Python
python使用布隆过滤器的实现示例
Aug 20 Python
python爬虫中PhantomJS加载页面的实例方法
Nov 12 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
PHP 引用文件技巧
2010/03/02 PHP
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
微信小程序模板之分页滑动栏
2017/02/10 Javascript
JavaScript运动框架 链式运动到完美运动(五)
2017/05/18 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
vue-lazyload使用总结(推荐)
2018/11/01 Javascript
微信小程序实现列表页的点赞和取消点赞功能
2018/11/02 Javascript
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
vue打包之后生成一个配置文件修改接口的方法
2018/12/09 Javascript
vuex 动态注册方法 registerModule的实现
2019/07/03 Javascript
微信小程序返回上一页传参并刷新过程解析
2019/12/13 Javascript
python 文件与目录操作
2008/12/24 Python
python图像和办公文档处理总结
2019/05/28 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
如何基于python实现脚本加密
2019/12/28 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
python中安装django模块的方法
2020/03/12 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
django序列化时使用外键的真实值操作
2020/07/15 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
程序员岗位职责
2013/11/11 职场文书
幼儿园毕业寄语
2014/04/03 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
机关保密承诺书
2014/06/03 职场文书
2014年保密工作总结
2014/11/22 职场文书
骨干教师事迹材料
2014/12/17 职场文书
开票员岗位职责
2015/02/12 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书
python析构函数用法及注意事项
2021/06/22 Python