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为tornado添加recaptcha验证码功能
Feb 26 Python
Python中splitlines()方法的使用简介
May 20 Python
Python制作数据导入导出工具
Jul 31 Python
使用Python和xlwt向Excel文件中写入中文的实例
Apr 21 Python
Django学习教程之静态文件的调用详解
May 08 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
Jan 30 Python
Python告诉你木马程序的键盘记录原理
Feb 02 Python
keras:model.compile损失函数的用法
Jul 01 Python
python redis存入字典序列化存储教程
Jul 16 Python
Python如何在单元测试中给对象打补丁
Aug 03 Python
PyTorch 如何自动计算梯度
May 23 Python
分享Python异步爬取知乎热榜
Apr 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
MYSQL数据库初学者使用指南
2006/11/16 PHP
php中http与https跨域共享session的解决方法
2014/12/20 PHP
php上传文件并显示上传进度的方法
2015/03/24 PHP
PHP+redis实现微博的推模型案例分析
2019/07/10 PHP
可以将word转成html的js代码
2010/04/11 Javascript
JS对select控件option选项的增删改查示例代码
2013/10/21 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
js实现文件上传表单域美化特效
2015/11/02 Javascript
AngularJS模块详解及示例代码
2016/08/17 Javascript
easyui 中的datagrid跨页勾选问题的实现方法
2017/01/18 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
为python设置socket代理的方法
2015/01/14 Python
python中map()与zip()操作方法
2016/02/27 Python
python判断数字是否是超级素数幂
2018/09/27 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
Django 接收Post请求数据,并保存到数据库的实现方法
2019/07/12 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
Python基于execjs运行js过程解析
2020/11/27 Python
实例教程 一款纯css3实现的数字统计游戏
2014/11/10 HTML / CSS
CSS3不透明度实例讲解
2016/04/26 HTML / CSS
html5 Canvas画图教程(5)—canvas里画曲线之arc方法
2013/01/09 HTML / CSS
基于HTML5+tracking.js实现刷脸支付功能
2020/04/16 HTML / CSS
英国翻新电子产品购物网站:Tech Trade
2017/12/25 全球购物
入党自我评价优缺点
2014/01/25 职场文书
责任担保书范文
2014/05/21 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
一年级数学下册复习计划
2015/01/17 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
创业计划书之餐饮
2019/09/02 职场文书
如何vue使用el-table遍历循环表头和表体数据
2022/04/26 Vue.js