依赖树实现

2023-11-21

对于那些使用 apt-get 的人来说,您知道每次安装/卸载某些东西时,您都会收到通知,说明您需要/不再需要某些依赖项。

我正在尝试理解其背后的理论,并可能实现我自己的版本。我做了一些谷歌搜索,想出了大部分耦合的东西。据我了解,耦合是两个相互依赖的类/模块。这不正是我正在寻找的。我正在寻找的更像是依赖关系树生成,我可以在其中找到最不依赖的模块(我已经采用了递归方式来执行此操作),并且(这是我尚未完成的部分)找到什么删除节点后不再需要。

另外,学习图论会有帮助吗?有没有关于最好使用 Python 作为语言的教程?


This可能有些兴趣:

def dep(arg):
    '''
        Dependency resolver

    "arg" is a dependency dictionary in which
    the values are the dependencies of their respective keys.
    '''
    d=dict((k, set(arg[k])) for k in arg)
    r=[]
    while d:
        # values not in keys (items without dep)
        t=set(i for v in d.values() for i in v)-set(d.keys())
        # and keys without value (items without dep)
        t.update(k for k, v in d.items() if not v)
        # can be done right away
        r.append(t)
        # and cleaned up
        d=dict(((k, v-t) for k, v in d.items() if v))
    return r

if __name__=='__main__':
    d=dict(
        a=('b','c'),
        b=('c','d'),
        e=(),
        f=('c','e'),
        g=('h','f'),
        i=('f',)
    )
    print dep(d)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

依赖树实现 的相关文章

  • 如何替换 Pandas Dataframe 中不在列表中的所有值? [复制]

    这个问题在这里已经有答案了 我有一个值列表 如何替换 Dataframe 列中不在给定值列表中的所有值 例如 gt gt gt df pd DataFrame D ND D garbage columns S gt gt gt df S 0
  • 在 Python 中解析 TCL 列表

    我需要在双括号上拆分以空格分隔的 TCL 列表 例如 OUTPUT 172 25 50 10 01 01 Ethernet 172 25 50 10 01 02 Ethernet Traffic Item 1 172 25 50 10 01
  • 如何传递架构以从现有数据帧创建新数据帧?

    要将 schema 传递到 json 文件 我们这样做 from pyspark sql types import StructField StringType StructType IntegerType data schema Stru
  • 计算另一个字符串中多个字符串的出现次数

    在 Python 2 7 中 给定以下字符串 Spot是一只棕色的狗 斑点有棕色的头发 斑点的头发是棕色的 查找字符串中 Spot brown 和 hair 总数的最佳方法是什么 在示例中 它将返回 8 我正在寻找类似的东西string c
  • 如何在 Matplotlib 饼图周围绘制箭头以将每个标签指向圆圈中各自的部分?

    我一直在用 Matplotlib 绘制一些图表 我有一个饼图 想要在图表周围绘制箭头 使每个标签都指向图表 我有一个例子 这是我当前的代码 import matplotlib pyplot as plt plt rcParams font
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • Pycharm 在 os.path 连接上出现“未解析的引用”

    将pycharm升级到2018 1 并将python升级到3 6 5后 pycharm报告 未解析的引用 join 最新版本的 pycharm 不会显示以下行的任何警告 from os path import join expanduser
  • GUI(输入和输出矩阵)?

    我需要创建一个 GUI 将数据输入到矩阵或表格中并读取此表单数据 完美的解决方案是限制输入表单仅允许float 例如 A 1 02 0 25 0 30 0 515 0 41 1 13 0 15 1 555 0 25 0 14 1 21 2
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 导入错误:没有名为flask.ext.login的模块

    我的flask login 模块有问题 我已经成功安装了flask login模块 另外 从命令提示符我可以轻松运行此脚本 不会出现错误 Python 2 7 r27 82525 Jul 4 2010 07 43 08 MSC v 1500
  • 无法导入 langchain.agents.load_tools

    我正在尝试使用 LangChain Agents 但无法导入 load tools 版本 langchain 0 0 27 我尝试过这些 from langchain agents import initialize agent from
  • python的shutil.move()在linux上是原子的吗?

    我想知道python的shutil move在linux上是否是原子的 如果源文件和目标文件位于两个不同的分区上 行为是否不同 或者与它们存在于同一分区上时的行为相同吗 我更关心的是如果源文件和目标文件位于同一分区上 shutil move
  • 如何将 GAE 中一种 Kind 中的所有实体复制到另一种 Kind 中,而无需显式调用每个属性

    我们如何使用function clone entity 如中所述在 Python 中复制 Google App Engine 数据存储中的实体 而无需在 编译 时知道属性名称 https stackoverflow com question
  • Python - 如何确定解析的 XML 元素的层次结构级别?

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

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 带有 LSTM 的 GridSearchCV/RandomizedSearchCV

    我一直在尝试通过 RandomizedSearchCV 调整 LSTM 的超参数 我的代码如下 X train X train reshape X train shape 0 1 X train shape 1 X test X test
  • 制作一份 Python 文档的 PDF 文件

    Python 官方网站提供 PDF 文档下载 但它们是按章节分隔的 我下载了源代码并构建了 PDF 文档 这些文档也是单独的 PDF 我怎么能够从源代码中的 Makefile 构建一个 PDF 文件 我认为这样阅读起来会更方便 如果连接单独
  • 在virtualenv中下载sqlite3

    我正在尝试使用命令创建应用程序python3 manage py startapp webapp但我收到一条错误消息 django core exceptions ImproperlyConfigured 加载时出错 pysqlite2 或
  • 如何将Python3设置为Mac上的默认Python版本?

    有没有办法将 Python 3 8 3 设置为 macOS Catalina 版本 10 15 2 上的默认 Python 版本 我已经完成的步骤 看看它安装在哪里 ls l usr local bin python 我得到的输出是这样的

随机推荐

  • Android 处理程序更改 WeakReference

    我的静态处理程序有一个WeakReference to my Activity 这是为了防止有据可查的内存泄漏问题 我发布了一条长时间延迟的消息 我希望将此消息传递到我的活动 应该位于前台 我担心的是 在方向改变时 我的活动被销毁 并且处理
  • PHP5 使用 fopen 时出现无法打开流:HTTP 请求失败错误

    这个问题似乎过去在谷歌和这里到处都有讨论 但我还没有找到解决方案 一个非常简单的 fopen 给了我一个 PHP 警告 fopen http www google ca 无法打开流 HTTP 请求失败 我正在获取的 URL 并不重要 因为即
  • SQL Server 循环删除记录超出锁定超时

    我正在测试一个可以一次删除很多很多记录的过程 这不可以TRUNCATE TABLE 因为里面有需要保留的记录 由于体积的原因 我将删除分成了与此类似的循环 Do not block if records are locked SET LOC
  • 当应用程序未打开时收到推送通知时更新徽章编号

    我有一个应用程序 其中我面临这样的问题 徽章编号仅在打开通知时更新 但即使应用程序未打开 我也需要更新徽章编号 有人能帮我吗 您需要设置一个值badge输入您的推送通知负载 根据您的描述 听起来只有您的应用程序正在更新徽章编号 而不是通知本
  • 为什么我们需要在 eval JSON 中添加括号? [复制]

    这个问题在这里已经有答案了 为什么需要添加以下代码 and 用于评估 var strJson eval status val replace PS status val 返回类似的东西 10000048 1 25000175 2 25000
  • 用户可以清除 Service Worker 缓存吗?

    我已经构建了一个使用缓存的渐进式 Web 应用程序 但我不清楚用户是否可以 无意或故意 清除服务工作线程缓存 这可能会清除我的跟踪数据 当用户清除浏览数据 cookie 时 这会清除所有站点存储 包括 SW 缓存 cookie 本地存储 i
  • 将 XCTest 导入到现有项目中

    我添加了一个新目标作为 Cocoa Touch 单元测试包 名为目录 MyAppTests 并且实际框架未处于活动状态 它以红色突出显示 当我通过 构建阶段 选项卡技术中的 链接二进制文件与库 添加框架时 会添加一个新框架 而不是更新通过添
  • FLEX 中的重新调度事件

    在 FLEX 应用程序中 我试图 重新调度 自定义事件 IE 组件1执行dispatchEvnet event 组件2注册该事件的处理程序 该处理程序的唯一功能再次是dispatch event 最后 组件 3 监听来自组件 2 的事件 我
  • 了解 RecyclerView setHasFixedSize

    我有点难以理解setHasFixedSize 我知道它用于优化时的大小RecyclerView从文档来看 没有改变 但这意味着什么 在大多数常见情况下ListView几乎总是有固定的大小 什么情况下它不是固定大小 这是否意味着它在屏幕上占据
  • 如何更改Popup MenuButton弹窗的背景颜色?

    我想更改弹出菜单按钮窗口的背景颜色 我应该怎么办 我希望我能得到你的帮助 谢谢 当我改变容器的颜色时 有些角落不能改变颜色 new IconButton icon new Icon Icons search color Colors whi
  • 如何从fragment中listview的onitemclick事件中调用startactivity或调用intent?

    我有一个具有自己的布局的片段 在布局中 有一个列表视图 我附加了 onitemclick 侦听器 单击列表行时将启动 打开意图 不幸的是 我总是收到这个错误 从 Activity 上下文外部调用 startActivity 需要 FLAG
  • 如何查找影响特定列的存储过程列表?

    我正在研究这个大型数据库 其中 SP 中嵌入了很多业务知识 我知道 并且 SP 之间有很多链接 即一个存储过程调用另一个存储过程 我想找出更新特定列的存储过程列表 我该怎么做呢 使用 showplan All 中概述的用于存储过程的 SQL
  • D3.js:如何组合 2 个数据集以创建地图并在鼠标悬停时显示值?

    我想在 D3 js 中的地图上合并两个数据集 例如 第一个数据集 json 格式的空间数据 第二个数据集 csv 中区域的数据 gt 当您将鼠标悬停在地图上时 工具提示应显示一个句子 其中包含第二个数据集中的一些数据 我可以制作地图并显示包
  • 选择包含“foo”的属性的正确 XPath 是什么?

    给定这个 XML XPath 返回其所有元素prop属性包含Foo 前三个节点
  • Android:如何在 root 设备上获取帧缓冲区(屏幕截图)?

    我试过 process Runtime getRuntime exec su c cat dev graphics fb0 gt sdcard frame raw process waitFor 但它不起作用 我的设备已植根 我看到很多答案
  • 高枕无忧,初始化参数 - 如何访问?

    我想在我的 web xml 中有一些初始化参数 并稍后在应用程序中检索它们 我知道当我有一个普通的 servlet 时我可以做到这一点 然而 使用resteasy 我将HttpServletDispatcher配置为我的默认servlet
  • 如何将焦点添加到表格行?

    我有一个生成的表AngularJS 这是我的 HTML table class my table thead tr th Name th th Address th th Celphone th tr thead tbody tr td c
  • Pandas 计算最后 n 行中大于当前行的值

    如何获取最后n行中大于当前行的值的计数 假设我们有一个如下的数据框 col a 0 8 4 1 11 3 2 7 2 3 6 5 4 4 5 5 8 9 我正在尝试获取如下表 其中 n 3 col a col b 0 8 4 0 1 11
  • Woocommerce REST API 404 错误

    自从 woocommerce 发布了带有 REST API 功能的 2 1 版本后 我尝试使用它 我在 woocommerce 管理面板上激活了 API 但是当我尝试调用 curl 时 http www mydomain com wc ap
  • 依赖树实现

    对于那些使用 apt get 的人来说 您知道每次安装 卸载某些东西时 您都会收到通知 说明您需要 不再需要某些依赖项 我正在尝试理解其背后的理论 并可能实现我自己的版本 我做了一些谷歌搜索 想出了大部分耦合的东西 据我了解 耦合是两个相互