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实现根据IP地址和子网掩码算出网段的方法
Jul 30 Python
python结合API实现即时天气信息
Jan 19 Python
用Python写一个无界面的2048小游戏
May 24 Python
Python的re模块正则表达式操作
May 25 Python
pandas Dataframe行列读取的实例
Jun 08 Python
python3.x 生成3维随机数组实例
Nov 28 Python
python 实现list或string按指定分段
Dec 25 Python
Python Numpy 控制台完全输出ndarray的实现
Feb 19 Python
python实现滑雪游戏
Feb 22 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
Mar 30 Python
python 实现关联规则算法Apriori的示例
Sep 30 Python
python中PyQuery库用法分享
Jan 15 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实现读取一个1G的文件大小
2013/08/24 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
细说javascript函数从函数的构成开始
2013/08/29 Javascript
今天是星期几的4种JS代码写法
2013/09/17 Javascript
jQuery选择器全面总结
2014/01/06 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
2015/08/11 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
微信小程序 闭包写法详细介绍
2016/12/14 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
javaScript中封装的各种写法示例(推荐)
2017/07/03 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
angular.js4使用 RxJS 处理多个 Http 请求
2017/09/23 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
js实现简单选项卡功能
2020/03/23 Javascript
Vue项目自动转换 px 为 rem的实现方法
2018/10/29 Javascript
vue-router重定向和路由别名的使用讲解
2019/01/19 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
详解element-ui设置下拉选择切换必填和非必填
2019/06/17 Javascript
微信小程序自定义tabBar在uni-app的适配详解
2019/09/30 Javascript
vue实现移动端H5数字键盘组件使用详解
2020/08/25 Javascript
Python版微信红包分配算法
2015/05/04 Python
python同时遍历数组的索引和值的实例
2018/11/15 Python
python内存监控工具memory_profiler和guppy的用法详解
2019/07/29 Python
python 伯努利分布详解
2020/02/25 Python
python 实现"神经衰弱"翻牌游戏
2020/11/09 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
党员个人思想汇报
2013/12/28 职场文书
中国文明网签名寄语
2014/01/18 职场文书
婚假请假条怎么写
2014/04/10 职场文书
《生命 生命》教学反思
2014/04/19 职场文书
读群众路线的心得体会
2014/09/03 职场文书