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(一)Python环境安装
Aug 20 Python
Python发送form-data请求及拼接form-data内容的方法
Mar 05 Python
Python常见异常分类与处理方法
Jun 04 Python
Python Selenium Cookie 绕过验证码实现登录示例代码
Apr 10 Python
Tensorflow中使用tfrecord方式读取数据的方法
Jun 19 Python
解决Mac下首次安装pycharm无project interpreter的问题
Oct 29 Python
Python嵌套式数据结构实例浅析
Mar 05 Python
Python如何实现在字符串里嵌入双引号或者单引号
Mar 02 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
Mar 06 Python
Python面向对象多态实现原理及代码实例
Sep 16 Python
Pytorch 中的optimizer使用说明
Mar 03 Python
Pyhton爬虫知识之正则表达式详解
Apr 01 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的FTP学习(一)[转自奥索]
2006/10/09 PHP
php实现字符串反转输出的方法
2015/03/14 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
2020/12/29 PHP
js跨域和ajax 跨域问题的实现思路
2009/09/05 Javascript
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
js锁屏解屏通过对$.ajax进行封装实现
2014/07/31 Javascript
JavaScript中String.prototype用法实例
2015/05/20 Javascript
AngularJS进行性能调优的7个建议
2015/12/28 Javascript
js实现二级导航功能
2017/03/03 Javascript
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
vue-router命名路由和编程式路由传参讲解
2019/01/19 Javascript
JavaScript定时器设置、使用与倒计时案例详解
2019/07/08 Javascript
前端vue+elementUI如何实现记住密码功能
2020/09/20 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
python的常见命令注入威胁
2013/02/18 Python
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
python操作oracle的完整教程分享
2018/01/30 Python
Python集中化管理平台Ansible介绍与YAML简介
2019/06/12 Python
python生成器推导式用法简单示例
2019/10/08 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
详解三种方式实现平滑滚动页面到顶部的功能
2019/04/23 HTML / CSS
CAT鞋英国官网:坚固耐用的靴子和鞋
2016/10/21 全球购物
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
Java中实现多态的机制
2015/08/09 面试题
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
小学教师的自我评价范例
2013/10/31 职场文书
满月酒主持词
2014/03/27 职场文书
小学生竞选班长演讲稿
2014/04/24 职场文书
假面舞会策划方案
2014/05/29 职场文书
国庆宣传标语
2014/06/30 职场文书
幼儿园保育员责任书
2014/07/22 职场文书
原来闭幕词是这样写的呀!
2019/07/01 职场文书
《别在吃苦的年纪选择安逸》读后感3篇
2019/11/30 职场文书