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 相关文章推荐
Pyhton中单行和多行注释的使用方法及规范
Oct 11 Python
Python使用pylab库实现绘制直方图功能示例
Jun 01 Python
python实现随机漫步算法
Aug 27 Python
11个Python3字典内置方法大全与示例汇总
May 13 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
Jun 13 Python
如何使用python操作vmware
Jul 27 Python
浅谈pycharm使用及设置方法
Sep 09 Python
关于python 跨域处理方式详解
Mar 28 Python
pytorch SENet实现案例
Jun 24 Python
python打包生成so文件的实现
Oct 30 Python
Python爬虫之爬取二手房信息
Apr 27 Python
python和Appium的移动端多设备自动化测试框架
Apr 26 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的GROUP_CONCAT()函数使用方法
2008/03/28 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
PHP请求Socket接口测试实例
2016/08/12 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
PDO::setAttribute讲解
2019/01/29 PHP
不用ajax实现点击文字即可编辑的方法
2007/12/16 Javascript
JavaScript 大数据相加的问题
2011/08/03 Javascript
jQuery函数的等价原生函数代码示例
2013/05/27 Javascript
JavaScript中的连字符详解
2013/11/28 Javascript
浅谈JavaScript函数节流
2014/12/09 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
2016/10/17 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
2017/05/11 Javascript
JavaScript学习笔记之函数记忆
2017/09/06 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
vue之延时刷新实例
2019/11/14 Javascript
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
python分割文件的常用方法
2014/11/01 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
Python字典的核心底层原理讲解
2019/01/24 Python
Django框架模板的使用方法示例
2019/05/25 Python
Python标准库itertools的使用方法
2020/01/17 Python
CSS3 text shadow字体阴影效果
2016/01/08 HTML / CSS
CSS3的column-fill属性对齐列内容高度的用法详解
2016/07/01 HTML / CSS
什么是属性访问器
2015/10/26 面试题
大学生个人求职信
2014/06/02 职场文书
英文自荐信范文
2015/03/25 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
2015年学校财务工作总结
2015/05/19 职场文书
保外就医申请书范文
2015/08/06 职场文书
2016猴年春节慰问信
2015/11/30 职场文书
2016高考寄语集锦
2015/12/04 职场文书
高中数学课堂教学反思
2016/02/18 职场文书
使用 JavaScript 制作页面效果
2021/04/21 Javascript
mybatis中sql语句CDATA标签的用法说明
2021/06/30 Java/Android