创建 python 优先级队列

2024-01-10

我想在 python 中构建一个优先级队列,其中队列包含不同的字典及其优先级编号。因此,当调用“get函数”时,优先级最高(编号最低)的字典将从队列中拉出,而当调用“add函数”时,新字典将被添加到队列中并根据其排序优先号码。

请大家帮忙...

提前致谢!


使用标准库中的heapq模块。

您没有指定如何将优先级与字典关联起来,但这里有一个简单的实现:

import heapq

class MyPriQueue(object):
    def __init__(self):
        self.heap = []

    def add(self, d, pri):
        heapq.heappush(self.heap, (pri, d))

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

创建 python 优先级队列 的相关文章

  • 如何恢复tensorflow inceptions检查点文件(ckpt)?

    I have inception resnet v2 2016 08 30 ckpt文件是预先训练的初始模型 我想使用恢复这个模型 saver restore sess ckpt filename 但为此 我将需要编写训练该模型时使用的变量
  • 类的 IPython 表示

    我正在使用我创建的模块尝试 IPython 但它没有显示类对象的实际表示 相反 它显示类似的内容 TheClass module TheClass name I heavily在这个模块中使用元类 我有真正有意义的类表示 应该向用户显示 是
  • Pandas set_levels,如何避免标签排序?

    我使用时遇到问题set levels多索引 from io import StringIO txt Name Height Age Metres A 1 25 B 95 1 df pd read csv StringIO txt heade
  • Python 类型提示 Dict 语法错误 可变默认值是不允许的。使用“默认工厂”

    我不知道为什么解释器会抱怨这个类型的字典 对于这两个实例 我得到一个 不允许可变默认值 使用默认工厂 语法错误 我使用的是 python 3 7 3 from dataclasses import dataclass from typing
  • Gunicorn 工作人员无论如何都会超时

    我正在尝试通过gunicorn运行一个简单的烧瓶应用程序 但是无论我做什么 我的工作人员都会超时 无论是否有针对应用程序的活动 工作人员在我设置任何内容后总是会超时timeout值到 是什么导致它们超时 当我发出请求时 请求成功通过 但工作
  • matplotlib 图中点的标签

    所以这是一个关于已发布的解决方案的问题 我试图在我拥有的 matplotlib 散点图中的点上放置一些数据标签 我试图在这里模仿解决方案 是否有与 MATLAB 的 datacursormode 等效的 matplotlib https s
  • 如何从Python中的函数返回多个值? [复制]

    这个问题在这里已经有答案了 如何从Python中的函数返回多个变量 您可以用逗号分隔要返回的值 def get name you code return first name last name 逗号表示它是一个元组 因此您可以用括号将值括
  • PyQt 使用 ctrl+Enter 触发按钮

    我正在尝试在我的应用程序中触发 确定 按钮 我当前尝试的代码是这样的 self okPushButton setShortcut ctrl Enter 然而 它不起作用 这是有道理的 我尝试查找一些按键序列here http ftp ics
  • Pycharm 在 os.path 连接上出现“未解析的引用”

    将pycharm升级到2018 1 并将python升级到3 6 5后 pycharm报告 未解析的引用 join 最新版本的 pycharm 不会显示以下行的任何警告 from os path import join expanduser
  • 使用 Python Oauthlib 通过服务帐户验证 Google API

    我不想使用适用于 Python 的 Google API 客户端库 但仍想使用 Python 访问 Google APIOauthlib https github com idan oauthlib 创建服务帐户后谷歌开发者控制台 http
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • Python - 如何确定解析的 XML 元素的层次结构级别?

    我正在尝试使用 Python 解析 XML 文件中具有特定标记的元素并生成输出 excel 文档 该文档将包含元素并保留其层次结构 我的问题是我无法弄清楚每个元素 解析器在其上迭代 的嵌套深度 XML 示例摘录 3 个元素 它们可以任意嵌套
  • Django REST Framework - CurrentUserDefault 使用

    我正在尝试使用CurrentUserDefault一个序列化器的类 user serializers HiddenField default serializers CurrentUserDefault 文档说 为了使用它 请求 必须作为
  • 将 Matlab 的 datenum 格式转换为 Python

    我刚刚开始从 Matlab 迁移到 Python 2 7 在读取 mat 文件时遇到一些问题 时间信息以 Matlab 的日期数字格式存储 对于那些不熟悉它的人 日期序列号将日历日期表示为自固定基准日期以来已经过去的天数 在 MATLAB
  • 在 Google App Engine 中,如何避免创建具有相同属性的重复实体?

    我正在尝试添加一个事务 以避免创建具有相同属性的两个实体 在我的应用程序中 每次看到新的 Google 用户登录时 我都会创建一个新的播放器 当新的 Google 用户在几毫秒内进行多个 json 调用时 我当前的实现偶尔会创建重复的播放器
  • python 中的“槽包装器”是什么?

    object dict 和其他地方的隐藏方法设置为这样的
  • 如何以正确的方式为独立的Python应用程序制作setup.py?

    我读过几个类似的主题 但还没有成功 我觉得我错过或误解了一些基本的事情 这就是我失败的原因 我有一个用 python 编写的 应用程序 我想在标准 setup py 的帮助下进行部署 由于功能复杂 它由不同的 python 模块组成 但单独
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这
  • 如何使用 Boto3 启动具有 IAM 角色的 EC2 实例?

    我无法弄清楚如何使用指定的 IAM 角色在 Boto3 中启动 EC2 实例 以下是迄今为止我如何成功创建实例的一些示例代码 import boto3 ec2 boto3 resource ec2 region name us west 2
  • 等待子进程使用 os.system

    我用了很多os system在 for 循环内调用创建后台进程 如何等待所有后台进程结束 os wait告诉我没有子进程 ps 我使用的是Solaris 这是我的代码 usr bin python import subprocess imp

随机推荐

  • 承诺履行处理程序未定义

    看起来非常基本 基于 Promise 的实现的实现没有返回我期望看到的值 数据 这就是我期望这个界面的工作方式 sdk request options gt Promise Response Object JSON 这是我的模型中的代码 r
  • 将 SDK 工具和 ADT 更新至 17,现在出现VerifyErrors

    我有一个引用两个图书馆项目的项目 升级ADT和SDK工具后版本17 http android developers blogspot com 2012 03 updated sdk tools and adt revision 17 htm
  • gnuplot:在交互模式下设置 link 和 x2tics

    在交互模式下 x2tics 在放大时很快就会消失 这个例子被展示了here https stackoverflow com a 60373156 11769765 set tics nomirror set x2tics set link
  • 双问号,它是如何工作的?

    我正在学习 Swift 作为这个过程的一部分 我试图弄清楚这里到底发生了什么 我有一个自定义 Segue 我想在其中放置模态视图控制器以消除转换 Objective c 中以前的内容是 UIViewController sourceView
  • 如何在iPad屏幕上触摸时获取PDF注释

    我开发了一个使用 CATiled Layer 在 ipad 上显示 PDF 的应用程序 到目前为止 一切都很好 但是有一个问题确实让我剪掉了最后的头发 我有一个带有嵌入注释的 PDF 每个注释都有一个 URL 我可以找到触摸区域的坐标 但问
  • 节点脚本永远不会结束

    我有下面的节点脚本来基本上复制一些文件的内容并将它们插入到 mongo 该脚本似乎永远不会结束 即使所有数据都已成功插入 我总是必须执行 Ctrl C 来终止它 我应该在 node js 中使用什么东西来结束脚本吗 var mongoose
  • Jenkins CI 与 Chef 服务器

    有什么方法可以将 Jenkins 与 Chef Server 集成 以便我可以创建要执行的作业吗 我不想去厨师工作站 我需要在单独的服务器或厨师工作站上安装 jenkins 吗 我可以直接从 Jenkins 控制台执行所有食谱吗 是的 你可
  • 是否有针对开发团队的 Web 服务 (API) 标准或最佳实践?

    如果您要开始为您的 Web 应用程序开发 API 是否有任何类型的指南 最佳实践或标准来构建 Web 服务 我已经看到了有关该主题的一些讨论 我想获得更多信息 至少得到关于从哪里获取信息的指示 提前致谢 关于 网络服务 存在着广泛的多样性和
  • Emberjs 使用 sortProperties 按日期对内容进行排序

    我正在尝试使用 Emberjs排序属性按日期对内容进行排序jsfiddle http jsfiddle net CmtpX 2 我的模型有一个开始时间我尝试排序的属性 但没有成功 然后我创建了一个名为的计算属性今日活动在返回与传入日期匹配的
  • 选择具有不同列名的表

    In SQL Select into 将行复制到不同的 备份 表中 如果备份表具有不同的结构 或不同的列名 这可能吗 如果没有 实现这一目标的最佳方法是什么 这是我想做的 TableA有列a1 a2 a3 我想将此表中的一些行复制到另一个表
  • console.log() 中的反斜杠“\”未出现

    我正在尝试使用反斜杠console log 并在其中 p p 但似乎当页面加载时 所有反斜杠都被删除 示例 JS console log m Lets rock m Result m Lets rock m 我怎样才能防止它被删除 EDIT
  • jQuery切换类如果其他不起作用

    我无法在 if else 条件下使用 jQuerytoggleClass 我的 HTML 代码是 ul li class firstLevel a href main cat 01 MAIN CATEGORY 1 a ul class di
  • 从作业中捕获详细流

    我正在努力成为一名优秀的 powerscript 用户 并根据最佳实践使用 Write Verbose 但我无法从正在运行的作业中获取 Verbose 流 Job Start Job Name Scanning Work Item Scri
  • didFailToRegisterForRemoteNotificationsWithError:用户拒绝错误?

    如果用户拒绝启用推送通知 我们将通过 didFailToRegisterForRemoteNotificationsWithError 收到错误 有谁知道在这种情况下 NSError 对象中的代码是什么 以将其与没有可用连接区分开来 我不认
  • SetJmp/LongJmp:为什么会抛出段错误?

    下面的代码总结了我目前遇到的问题 我当前的执行流程如下 我正在 GCC 4 3 中运行 jmp buf a buf jmp buf b buf void b helper printf entering b helper if setjmp
  • Azure AD B2C 与 React Native 博览会

    我是使用 React Native 和 Expo 进行移动应用程序开发的新手 我正在尝试使用 Azure AD B2C 在我的移动应用程序中添加身份验证 授权 但我发现从 Microsoft 文档中理解起来更困难 甚至我在 Google 上
  • Fullcalendar - 将事件保存在数据库中

    我有以下标记 我有一个 fullcalendar 的实例 当点击某一天时 触发dayClick callback 打开引导模式 用户可以在其中输入标题和开始 结束日期 单击 确定 后 提供的那些值将添加到日历中 这是代码 function
  • 访问父对象属性的“rails 方式”是什么?

    假设我有一个模型Doctor 和一个模型Patient A Patient belongs to a Doctor A Doctor有一个属性office 我想 给定一个Patient p 能够说p office并访问office of p
  • 条件编译时大小

    我想定义一个宏 如果条件涉及sizeof为 true 如果为 false 则不执行任何操作 但仍然编译 如果预处理器支持sizeof 它看起来像这样 if sizeof void lt sizeof unsigned int what go
  • 创建 python 优先级队列

    我想在 python 中构建一个优先级队列 其中队列包含不同的字典及其优先级编号 因此 当调用 get函数 时 优先级最高 编号最低 的字典将从队列中拉出 而当调用 add函数 时 新字典将被添加到队列中并根据其排序优先号码 请大家帮忙 提