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中利用Future对象回调别的函数示例代码
Sep 07 Python
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
Dec 19 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
Oct 22 Python
Django框架中间件(Middleware)用法实例分析
May 24 Python
Python之pymysql的使用小结
Jul 01 Python
利用Python进行图像的加法,图像混合(附代码)
Jul 14 Python
python+pygame实现坦克大战
Sep 10 Python
python 画函数曲线示例
Dec 04 Python
Pytorch模型转onnx模型实例
Jan 15 Python
django配置app中的静态文件步骤
Mar 27 Python
如何利用pygame实现打飞机小游戏
May 30 Python
如何通过一篇文章了解Python中的生成器
Apr 02 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 session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
2009/11/27 PHP
ThinkPHP实现带验证码的文件上传功能实例
2014/11/01 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
五段实用的js高级技巧
2011/12/20 Javascript
jquery foreach使用示例
2013/09/12 Javascript
JSON中双引号的轮回使用过程中一定要小心
2014/03/05 Javascript
JQuery插件Marquee.js实现无缝滚动效果
2016/04/26 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
js循环map 获取所有的key和value的实现代码(json)
2018/05/09 Javascript
微信小程序自定义tab实现多层tab嵌套功能
2018/06/15 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
JavaScript实现切换多张图片
2021/01/27 Javascript
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
[01:03:59]2018DOTA2亚洲邀请赛3月30日 小组赛B组VGJ.T VS Secret
2018/03/31 DOTA
[50:50]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第一场 12.10
2020/12/13 DOTA
[01:18:45]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第三场2月1日
2021/03/11 DOTA
python中django框架通过正则搜索页面上email地址的方法
2015/03/21 Python
Python上传package到Pypi(代码简单)
2016/02/06 Python
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
Python restful框架接口开发实现
2020/04/13 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
伦敦最有品味的百货:Liberty London
2016/11/12 全球购物
6PM官网:折扣鞋、服装及配饰
2018/08/03 全球购物
C语言笔试题
2014/09/04 面试题
文秘自荐信
2013/10/20 职场文书
拓展策划方案
2014/06/03 职场文书
设备收款委托书范本
2014/10/02 职场文书
物业工程部主管岗位职责
2015/04/16 职场文书
企业财务管理制度范本
2015/08/04 职场文书
军训决心书范文
2015/09/22 职场文书
李白经典诗之一:全文无一“月”字,却句句有月
2019/07/12 职场文书
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏
Valheim服务器 Mod修改安装教程 【ValheimPlus】
2022/12/24 Servers