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

发布时间 - 2026-01-11 02:02:09    点击率:

本文实例讲述了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队列queue模块详解  # Python实现简单多线程任务队列  # 详解Python中的四种队列  # Python实现优先级队列结构的方法详解  # 栈和队列数据结构的基本概念及其相关的Python实现  # python队列Queue的详解  # Python多线程和队列操作实例  # Python3 queue队列模块详细介绍  # python 队列详解及实例代码  # Python实现队列的方法  # python 队列基本定义与使用方法【初始化、赋值、判断等】  # 数据结构  # 抛出  # 移除  # 自己的  # 的人  # 进阶  # 操作技巧  # 就会  # 是一种  # 相关内容  # 只需  # 要在  # 就行  # 给大家  # 满了  # 排在  # 更多关于  # 类似于  # 所述  # 先来 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  浅谈redis在项目中的应用  Python高阶函数应用_函数作为参数说明【指导】  Laravel如何实现API速率限制?(Rate Limiting教程)  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  JavaScript如何实现倒计时_时间函数如何精确控制  如何在服务器上三步完成建站并提升流量?  bootstrap日历插件datetimepicker使用方法  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  网站建设整体流程解析,建站其实很容易!  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  详解阿里云nginx服务器多站点的配置  手机网站制作与建设方案,手机网站如何建设?  如何快速生成ASP一键建站模板并优化安全性?  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  如何在建站主机中优化服务器配置?  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  JavaScript如何实现类型判断_typeof和instanceof有什么区别  如何生成腾讯云建站专用兑换码?  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  详解Android——蓝牙技术 带你实现终端间数据传输  QQ浏览器网页版登录入口 个人中心在线进入  Java类加载基本过程详细介绍  Android 常见的图片加载框架详细介绍  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  七夕网站制作视频,七夕大促活动怎么报名?  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  Swift中swift中的switch 语句  Thinkphp 中 distinct 的用法解析  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  Laravel定时任务怎么设置_Laravel Crontab调度器配置  如何用搬瓦工VPS快速搭建个人网站?  如何用JavaScript实现文本编辑器_光标和选区怎么处理  如何在宝塔面板创建新站点?  Laravel怎么在Controller之外的地方验证数据  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  魔方云NAT建站如何实现端口转发?  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  如何用美橙互联一键搭建多站合一网站?  如何在橙子建站中快速调整背景颜色?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  Mybatis 中的insertOrUpdate操作  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】