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 相关文章推荐
在Linux上安装Python的Flask框架和创建第一个app实例的教程
Mar 30 Python
python从sqlite读取并显示数据的方法
May 08 Python
python opencv设置摄像头分辨率以及各个参数的方法
Apr 02 Python
浅谈Python基础—判断和循环
Mar 22 Python
详解python项目实战:模拟登陆CSDN
Apr 04 Python
python输出电脑上所有的串口名的方法
Jul 02 Python
python使用opencv实现马赛克效果示例
Sep 28 Python
python opencv根据颜色进行目标检测的方法示例
Jan 15 Python
Python 合并拼接字符串的方法
Jul 28 Python
Python限制内存和CPU使用量的方法(Unix系统适用)
Aug 04 Python
python产生模拟数据faker库的使用详解
Nov 04 Python
一行代码python实现文件共享服务器
Apr 22 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 preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
PHP开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
php iconv() : Detected an illegal character in input string
2010/12/05 PHP
解析PHP对现有搜索引擎的调用
2013/06/25 PHP
PHP合并数组+号和array_merge的区别
2015/06/25 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
php微信公众号开发之二级菜单
2018/10/20 PHP
深入学习微信网址链接解封的防封原理visit_type
2019/08/15 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
JqGrid web打印实现代码
2011/05/31 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
jQuery中parent()方法用法实例
2015/01/07 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
easyui Draggable组件实现拖动效果
2015/08/19 Javascript
基于JS实现简单的样式切换效果代码
2015/09/04 Javascript
Angular实现form自动布局
2016/01/28 Javascript
javascript实现不同颜色Tab标签切换效果
2016/04/27 Javascript
JavaScript简单生成 N~M 之间随机数的方法
2017/01/13 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
为Python程序添加图形化界面的教程
2015/04/29 Python
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
python负载均衡的简单实现方法
2018/02/04 Python
Python测试网络连通性示例【基于ping】
2018/08/03 Python
tornado+celery的简单使用详解
2019/12/21 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
Sam’s Club山姆会员商店:沃尔玛旗下高端会员制商店
2017/01/16 全球购物
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
计算机毕业大学生推荐信
2013/12/01 职场文书
大课间活动制度
2014/01/18 职场文书
学校消防安全制度
2014/01/30 职场文书
中标通知书格式
2015/04/17 职场文书