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编写的最短路径算法
Mar 25 Python
python如何通过protobuf实现rpc
Mar 06 Python
Python自动化运维之IP地址处理模块详解
Dec 10 Python
Python3计算三角形的面积代码
Dec 18 Python
书单|人生苦短,你还不用python!
Dec 29 Python
tensorflow输出权重值和偏差的方法
Feb 10 Python
将Dataframe数据转化为ndarry数据的方法
Jun 28 Python
python微元法计算函数曲线长度的方法
Nov 08 Python
详解python项目实战:模拟登陆CSDN
Apr 04 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
Apr 29 Python
Python数据可视化:饼状图的实例讲解
Dec 07 Python
Python实现查找数据库最接近的数据
Jun 08 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 数组二分法查找函数代码
2010/02/16 PHP
PHP正确配置mysql(apache环境)
2011/08/28 PHP
PHP乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
php检测apache mod_rewrite模块是否安装的方法
2015/03/14 PHP
基于PHP实现短信验证码接口(容联运通讯)
2016/09/06 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
jquery 的 $("#id").html() 无内容的解决方法
2010/06/07 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
Vue表单验证插件Vue Validator使用方法详解
2017/04/07 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
angular4笔记系列之内置指令小结
2018/11/09 Javascript
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
[37:03]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第二场 12.16
2020/12/18 DOTA
Python中使用第三方库xlrd来读取Excel示例
2015/04/05 Python
Python内置模块ConfigParser实现配置读写功能的方法
2018/02/12 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
利用python循环创建多个文件的方法
2018/10/25 Python
python三方库之requests的快速上手
2019/03/04 Python
python全栈知识点总结
2019/07/01 Python
python安装dlib库报错问题及解决方法
2020/03/16 Python
解决pycharm安装第三方库失败的问题
2020/05/09 Python
HTML5的结构和语义(2):结构
2008/10/17 HTML / CSS
百思买加拿大:Best Buy Canada
2018/03/20 全球购物
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
一套VC试题
2015/01/23 面试题
EJB3.1都有哪些改进
2012/11/17 面试题
大学应届生的自我评价
2014/03/06 职场文书
单位工程竣工验收方案
2014/03/16 职场文书
学校党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
行政复议答复书
2015/07/01 职场文书
python 如何执行控制台命令与操作剪切板
2021/05/20 Python