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 中urls.py:URL dispatcher(路由配置文件)详解
Mar 24 Python
Python对象类型及其运算方法(详解)
Jul 05 Python
恢复百度云盘本地误删的文件脚本(简单方法)
Oct 21 Python
python实现可视化动态CPU性能监控
Jun 21 Python
Python 读写文件的操作代码
Sep 20 Python
Python os.access()用法实例
Feb 18 Python
python3转换code128条形码的方法
Apr 17 Python
python之mock模块基本使用方法详解
Jun 27 Python
python爬虫工具例举说明
Nov 30 Python
python 基于opencv实现高斯平滑
Dec 18 Python
python自动打开浏览器下载zip并提取内容写入excel
Jan 04 Python
详解python网络进程
Jun 15 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
php面向对象与面向过程两种方法给图片添加文字水印
2015/08/26 PHP
MooTools 1.2介绍
2009/09/14 Javascript
JS DOM 操作实现代码
2010/08/01 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
2012/12/19 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
jQuery简单图表peity.js使用示例
2014/05/02 Javascript
JavaScript设计模式之代理模式介绍
2014/12/28 Javascript
探讨AngularJs中ui.route的简单应用
2016/11/16 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
关于前后端json数据的发送与接收详解
2017/07/30 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
小程序中canvas的drawImage方法参数使用详解
2019/07/04 Javascript
vue项目中极验验证的使用代码示例
2019/12/03 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
2020/08/06 Javascript
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
vue的hash值原理也是table切换实例代码
2020/12/14 Vue.js
Python代理抓取并验证使用多线程实现
2013/05/03 Python
Python实现完整的事务操作示例
2017/06/20 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
2018/06/13 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
在python 中split()使用多符号分割的例子
2019/07/15 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
Python如何使用函数做字典的值
2019/11/30 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
Django实现随机图形验证码的示例
2020/10/15 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
运动会跳远广播稿
2014/02/04 职场文书
《自然之道》教学反思
2014/02/11 职场文书
实习工作表现评语
2014/12/31 职场文书
陕西导游词
2015/02/04 职场文书
2015年精神文明建设工作总结
2015/04/21 职场文书
详解Python魔法方法之描述符类
2021/05/26 Python