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学习笔记(一)(基础入门之环境搭建)
Jun 05 Python
Python标准库之循环器(itertools)介绍
Nov 25 Python
mac系统安装Python3初体验
Jan 02 Python
Python编程scoketServer实现多线程同步实例代码
Jan 29 Python
python 列表降维的实例讲解
Jun 28 Python
python 提取key 为中文的json 串方法
Dec 31 Python
python实现控制台打印的方法
Jan 12 Python
python代理工具mitmproxy使用指南
Jul 04 Python
Python魔法方法 容器部方法详解
Jan 02 Python
Python3实现飞机大战游戏
Apr 24 Python
Python实现疫情通定时自动填写功能(附代码)
May 27 Python
Python面试不修改数组找出重复的数字
May 20 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 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
用jscript实现新建和保存一个word文档
2007/06/15 Javascript
js调用flash的效果代码
2008/04/26 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
JS判断不能为空实例代码
2013/11/26 Javascript
table行随鼠标移动变色示例
2014/05/07 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
2015/03/11 Javascript
javascript闭包的理解
2015/04/01 Javascript
javascript实现网站加入收藏功能
2015/12/16 Javascript
JavaScript数据结构与算法之集合(Set)
2016/01/29 Javascript
javascript中对Date类型的常用操作小结
2016/05/19 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
Actionscript与javascript交互实例程序(修改)
2016/09/22 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
2017/07/13 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
AngularJS service之select下拉菜单效果
2017/07/28 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
layui动态表头的实现代码
2019/08/22 Javascript
Python监控服务器实用工具psutil使用解析
2019/12/19 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
土耳其风格手工珠宝:Ottoman Hands
2019/07/26 全球购物
大学生创业感言
2014/01/25 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
道德之星事迹材料
2014/05/03 职场文书
和谐社区口号
2014/06/19 职场文书
社区志愿者活动总结
2014/06/26 职场文书
2015年度企业工作总结
2015/05/21 职场文书