python中的优先队列PriorityQueue

2023-11-02

普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出的行为特征。通常采用堆数据结构来实现。我们可以利用优先队列中元素被赋予优先级的这个特点来保存到当前状态下的若干个最大的元素值,这样优先级越高那么元素就可以先被处理,PriorityQueue属于queue模块中的一个类,其中经常使用到的有三个方法:声明一个优先队列、往优先队列中加入元素、往优先队列中移除元素

① 声明一个优先队列:queue.PriorityQueue()

② 往队列中加入元素:queue.put(self, item, block=True, timeout=None)

③ 往队列中删除元素:queue.get(self, block=True, timeout=None)

在往队列中加入元素的时候第一个元素值表示的是元素的优先级,并且值越小那么优先级越高,所以队首元素的优先级是最高的,而且经常加入队列的元素类型为元组这样就可以在队列中保存多个值,下面是具体的例子:

import queue
if __name__ == '__main__':
    queue = queue.PriorityQueue()
    queue.put((100, 100))
    queue.put((-12, -7))
    queue.put((7, 8))
    while not queue.empty():
        print(queue.get())

输出结果:

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python中的优先队列PriorityQueue 的相关文章

  • Python3之OS模块文件操作

    最近闲来无事学下Python3 用PyCharm写了个文件操作小例子 具体功能慢慢再补全 coding utf 8 author AA import os class File object def init self pathname s
  • python练习题-jmu_python_是否是数

    本题要求从键盘输入一个字符串 判断该串是否属于整数 浮点数或者复数的表示 输入格式 输入一个字符串 输出格式 输出yes或no 输入样例 299 输出样例 yes 几个语句判断input输入的类型的行了 当然这里还要有一个异常处理 eval
  • Python3之优化邮件中发送HTMLTestRunner生成的报告加附件

    系列文章目录 提示 这里可以添加系列文章的所有文章的目录 目录需要自己手动添加 例如 第一章 Python 机器学习入门之pandas的使用 提示 写完文章后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一
  • 解决Python代码编码问题 SyntaxError: Non-UTF-8 code starting with '\xc1'

    学习编写Py程序时突然报错 SyntaxError Non UTF 8 code starting with xbb in file C Users v Desktop Test py on line 4 but no encoding d
  • (三)Python3 NLTK(Natural Language Toolkit)安装和下载的常见问题

    NLTK Python自然语言工具包 用于诸如标记化 词形还原 词干化 解析 POS标注等任务 该库具有几乎所有NLP任务的工具 1 安装nltk pip install nltk 不要像一开始我一样傻傻的以为pip完就结束啦 2 进入py
  • 【2019.05.26】JS逆向——破解 企名片 参数(encrypt_data)爬虫 超级详细

    参考这个博客 作者写的很流畅 一看就是个大佬 要向大佬学习 企名片地址 要获取图中数据 分析请求 根据大佬博客的点拨 我们可以知道这个网站的数据都在这个参数当中 要获取这些数据 我们需要这个网页是怎么把这一段参数解析的 解析参数 encry
  • python中的优先队列PriorityQueue

    普通的队列是一种先进先出的数据结构 元素在队列尾追加 而从队列头删除 在优先队列中 元素被赋予优先级 当访问元素时 具有最高优先级的元素最先删除 优先队列具有最高级先出的行为特征 通常采用堆数据结构来实现 我们可以利用优先队列中元素被赋予优
  • python3.6打包成exe可执行文件,已解决方案

    将python程序打包成exe可执行文件有多种方法 这里讲一种最简单最常用的方法 只需要使用pyinstaller命令即可 一 环境 Windows 7或10 x64 Python 3 6 1 二 需要包 pyinstaller 3 3 p
  • 解决Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“报错

    Microsoft Visual C 14 0 or greater is required Get it with Microsoft C Build Tools 具体报错如下 Building wheel for cyac pyproj
  • Python3入门基础(10)一个对象

    Python3 面向对象 面向对象技术 与 Java 类似 类 Class 用来描述具有相同的属性和方法的对象的集合 它定义了该集合中每个对象所共有的属性和方法 对象是类的实例 方法 类中定义的函数 类变量 类变量在整个实例化的对象中是公用
  • pycharm所有版本 http://www.jetbrains.com/pycharm/download/previous.html 打开激活窗口 选择 Activate new license

    pycharm所有版本 http www jetbrains com pycharm download previous html 打开激活窗口 选择 Activate new license with License server 用li
  • Windows7(x64) 安装Python3.7.0

    日期 2018年8月8日 作者 Commas 注释 本文写Windows7 x64 安装Python3 7 0 讲述了基本的安装操作 同时也介绍了一些相关的基础知识 本文若有哪些地方写的有所纰漏 还望各位看客指出 谢谢 如果您想了解更多有关
  • Python3之基本数据类型总结

    日期 2019年12月15日 作者 Commas 注释 学习就是为了忘记 总结一下python3的基本数据类型相关的知识 如果您想了解更多有关Python的知识 那么请点 我的Python目录 文章目录 一 变量在内存中的存储 二 内置函数
  • 神经网络预测彩票数据

    一 人工智能深度学习神经网络在双色球彩票中的应用研究 一 https www cnblogs com zdz8207 p DeepLearning NeuralNetworks html 二 百度AI http ai baidu com p
  • python3 Excel转txt

    使用场景 每次都是点一下Excel表格链接 调到浏览器中 内容数据也多 这种机械的活 对于程序员来说 能省则省 最后的结果 附上代码 coding utf 8 Time 2018 7 19 19 47 Author 蛇崽 Email 643
  • python pyinstaller打包参数介绍(转)

    pyinstaller相关参数 F onefile 打包一个单个文件 如果你的代码都写在一个 py文件的话 可以用这个 如果是多个 py文件就别用 D onedir 打包多个文件 在dist中生成很多依赖文件 适合以框架形式编写工具代码 我
  • python 头条 sign 参数 此篇针对实时列表 请使用73版本的谷歌浏览器

    1 首先谷歌浏览器打开今日头条F12调试找到sources 以旅游模块为例以此类推都一样 网站如https www toutiao com ch news travel 2 ctrl shift f全局搜索 window byted acr
  • python 运行时出现fixture xxx not found

    一 问题 在pycharm中运行带有pytest包的代码会出现如下错误 E fixture a not found gt available fixtures cache capfd capfdbinary caplog capsys ca
  • python线程与进程概述_1.24

    多进程与多线程 进程 Process 是计算机中的程序关于某数据集合上的一次运行活动 是系统进行资源分配和调度的基本单位 是操作系统结构的基础 线程 Thread 有时被称为轻量级进程 Lightweight Process LWP 是程序
  • Python3 初学 DAY2

    num1 minute py minute 7 24 60 print minute num2 print py 注 显示颜色格式 033 显示方式 字体色 背景色m 033 0m 显示颜色参数 显示方式 效果 字体色 背景色 颜色描述 0

随机推荐

  • 游戏开发Unity UGUI知识系列:点击屏幕响应事件

    参考 https blog csdn net Ro969668074 article details 81362727 总结 核心是在monobehaviour的update方法对注册的方法进行调用
  • 使用Milvus2.0时pip install pymilvus后无法import pymilvus的问题

    原因 使用Milvus2 0版本时 对应的pymilvus版本已经是2 0 0rc5 或以上版本 了 不能使用pip install pymilvus安装低版本的pymilvus了 解决方案 pip install pymilvus 2 0
  • QGIS - 帮助文档汇总

    Ref 1 Welcome to the QGIS project 2 QGIS Tutorials and Tips QGIS Tutorials and Tips
  • &&&&&&用法

    的含义 按位与操作 按二进制位进行 与 运算 运算规则 有 0 则为 0 0 0 0 0 1 0 1 0 0 1 1 1 x的含义 x 在计算机存储是用x的补码存储 就是在x的值的基础上进行按位取反 x 之后在增加1所得 也就是说 x x
  • Java 中Iterator 、Vector、ArrayList、List 使用深入剖析

    线性表 链表 哈希表是常用的数据结构 在进行Java开发时 JDK已经为我们提供了一系列相应的类来实现基本的数据结构 这些类均在java util包中 本文试图通过简单的描述 向读者阐述各个类的作用以及如何正确使用这些类 Collectio
  • kubectl常用命令大全详解

    这是我转载的一个博主写的 K8s 常用命令大全 里面详细介绍了 K8s 的命令 如果看了我写的入门基础篇文章 想了解更多命令可以看以下的文章 说明 Kubernetes kubectl 命令表 中文网址 Kubernetes kubectl
  • Echarts canvas大小和容器不一致

    const ele document getElementById id setTimeout gt 基于准备好的dom 初始化echarts实例 const myChart echarts init ele width document
  • python gui教程pyqt5_Python GUI教程(十五):在PyQt5中使用动画

    QT作为一个全面的桌面应用程序开发包 其自然提供了对图像的动画支持 本篇文章中 就来简单地在PYQt5中使用Animation动画功能 本篇将会依次完成以下功能 在GUI界面中显示一个图片 用一个足球做演示 点击按钮实现足球的直线射门动画
  • 如何选择一个web框架

    几乎对于你想要使用的每一种语言都有大量的web框架 我们在下面的部分列举了一些比较受欢迎的框架 有这么多选择 导致很难决定选择哪个框架为你的新web应用提供最好的开端 一些影响你决定的因素有 学习代价 学习一个web框架取决于你对底层语言的
  • 【华为OD机试】查字典【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 输入一个单词前缀和一个字典 输出包含该前缀的单词 输入描述 单词前缀 字典长度 字典 字典是一个有序单词数组 输入输出都是小写 输出描述 所有包含该前缀的单词 多个单
  • JAVA 日志脱敏实现

    业务诉求 针对敏感数据进行脱敏输出 包括手机号 姓名 密码 身份证号 银行卡号和地址等 一般金融系统和电商系统在审计时要求会比较严格 需要进行脱敏输出 脱敏方案的对比 方案 优点 缺点 适用场景 具体实现 JAVA原生实现 1 适配任意日志
  • 解决【Windows】下CMake不能生成makefile的问题

    遇到这个问题的场景是 PS C Users Administrator Desktop Cplus test build gt cmake Building for Visual Studio 16 2019 Selecting Windo
  • 交互测试。

    最近有接触到一个有趣的名词 交互测试 在对这个名词进行解释之前 我先去特意请教了一个产品经理朋友 问下交互的概念 于是知道了我们的行业里面还有很多个有趣的职位 交互设计师 UE UI 前端 设计 等等等等这些 都是跟这个交互相关 其实看到交
  • idea配置git拉取github上仓库代码

    STEP1 本地下载一个git https git scm com downloads STEP2 打开Settings 配置GitHub账号 决定你是否有权限操作Repository STEP3 配置本地git命令执行地址 也可以配置环境
  • Redis-数据结构及常用命令

    字符串 String 数据结构常用命令 SET key value 设置指定 key 的值 GET key 获取指定 key 的值 DEL key 删除指定 key INCR key 将指定 key 的值增加 1 DECR key 将指定
  • INVALID_USER_SCODE BUG 解决方案

    INVALID USER SCODE 不能定位 这个错误是说你的key有问题 你可以重新更换一下key 就可以了 1 首先先拿到你的SHA1 的值 获取命令 keytool list v keystore E jks gaodenav jk
  • 语义分割——灰度图像转伪彩色图像

    目录 检验灰度图 检验代码 灰度图转伪彩色图代码 转换代码使用细则 示例转换结果 总结 检验灰度图 制作语义分割数据集或用训练好模型测试图像时 得到的结果是灰度图像 如下 检验代码 上面图像灰度值不是全是全为0 灰度范围在 0 1 之间 使
  • android遇到的难题,Android开发遇到的三个问题

    您的位置 首页 教程 IT技术 正文 Android开发遇到的三个问题 总结我在安卓开发过程中遇到的问题 开发工具为Android Studio 编译工具为gradle 一 Execution failed for task mergeDe
  • buck dcm占空比计算_如何计算BOOST转换器的占空比

    计算BOOST变换器的占空比的关键因素 核心是什么 没错 是流过电感的电流 电感属于一个感性元器件 给我的感觉在它身上有很多神秘的色彩 需要一步一步探究 请恕我慢慢道来 其实 如果你上网问一问度娘 BOOST占空比公式 我相信你就直接知道结
  • python中的优先队列PriorityQueue

    普通的队列是一种先进先出的数据结构 元素在队列尾追加 而从队列头删除 在优先队列中 元素被赋予优先级 当访问元素时 具有最高优先级的元素最先删除 优先队列具有最高级先出的行为特征 通常采用堆数据结构来实现 我们可以利用优先队列中元素被赋予优