Python队列的定义与使用方法示例

yipeiwu_com5年前Python基础

本文实例讲述了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 条件判断的缩写方法

return (1==1) ? "is easy" : "my god" //C...

python使用Matplotlib画条形图

python使用Matplotlib画条形图

本文实例为大家分享了python使用Matplotlib画条形图的具体代码,供大家参考,具体内容如下 数据 中国的四个直辖市分别为北京市、上海市、天津市和重庆市,其2017年上半年的G...

使用python中的in ,not in来检查元素是不是在列表中的方法

使用python中的in ,not in来检查元素是不是在列表中的方法

如果在列表中返回True ,否则返回False 以上这篇使用python中的in ,not in来检查元素是不是在列表中的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希...

Django框架基础模板标签与filter使用方法详解

Django框架基础模板标签与filter使用方法详解

本文实例讲述了Django框架基础模板标签与filter使用方法。分享给大家供大家参考,具体如下: 一、基本的模板语言 1、变量 {{ }} 1.1、进入Django shell 环境...

解决Django中调用keras的模型出现的问题

笔者小白在用Django写一个表格单据图片的识别应用的时候,遇到了调用基于Tensorflow的keras模型出错的问题。 出现的错误信息类似于以下: ValueError: Ten...