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 相关文章推荐
DJANGO-ALLAUTH社交用户系统的安装配置
Nov 18 Python
简单介绍Python的Tornado框架中的协程异步实现原理
Apr 23 Python
python使用arp欺骗伪造网关的方法
Apr 24 Python
一个Python最简单的接口自动化框架
Jan 02 Python
手把手教你用python抢票回家过年(代码简单)
Jan 21 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
Mar 13 Python
python 编码规范整理
May 05 Python
使用Python读取二进制文件的实例讲解
Jul 09 Python
在python里协程使用同步锁Lock的实例
Feb 19 Python
python3+PyQt5 数据库编程--增删改实例
Jun 17 Python
python实现图片上添加图片
Nov 26 Python
在python3.9下如何安装scrapy的方法
Feb 03 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面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
centos 5.6 升级php到5.3的方法
2011/05/14 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
php保存信息到当前Session的方法
2015/03/16 PHP
Yii2中使用asset压缩js,css文件的方法
2016/11/24 PHP
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
2010/01/22 Javascript
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
nodejs之请求路由概述
2014/07/05 NodeJs
jQuery实现的导航条切换可显示隐藏
2014/10/22 Javascript
PHP+jQuery+Ajax+Mysql如何实现发表心情功能
2015/08/06 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
2017/03/30 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
详解Vue 全局变量,局部变量
2019/04/17 Javascript
详解Nuxt.js 实战集锦
2019/11/19 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
[03:37]2016完美“圣”典 风云人物:Mikasa专访
2016/12/07 DOTA
python3.4用函数操作mysql5.7数据库
2017/06/23 Python
python读取excel表格生成erlang数据
2017/08/26 Python
python实现在pandas.DataFrame添加一行
2018/04/04 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
Django框架视图层URL映射与反向解析实例分析
2019/07/29 Python
python将字母转化为数字实例方法
2019/10/04 Python
pyhton中__pycache__文件夹的产生与作用详解
2019/11/24 Python
dpn网络的pytorch实现方式
2020/01/14 Python
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
英国创新设计文具、卡片和礼品包装网站:Paperchase
2018/07/14 全球购物
车祸赔偿收入证明
2014/01/09 职场文书
士力架广告词
2014/03/20 职场文书
党员志愿者活动总结
2014/06/26 职场文书
水利水电专业自荐信
2014/07/08 职场文书
法定授权委托证明书
2014/09/27 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
2015年化验室工作总结
2015/04/23 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书
SQL SERVER中常用日期函数的具体使用
2021/04/08 SQL Server