反转非唯一字典

2023-11-30

我有一本字典,需要根据非唯一值进行反转和分组,该字典根据现有的最佳答案而失败。

>>> graph = { 'a': ['car','red'], 'b': ['car','blue'] }
>>> inv_map = {}
>>> for k,v in graph.items():
        inv_map[v] = inv_map.get(v,[])
        inv_map[v].append(k)

TypeError: unhashable type: 'list'

>>> isinstance(graph, dict)
True

建议?


由于值是列表,因此您需要迭代这些列表来累积键:

from collections import defaultdict
inv_map = defaultdict(list)

for k, vs in graph.items():
    for v in vs:
        inv_map[v].append(k)

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

反转非唯一字典 的相关文章

随机推荐

  • Youtube上传api重复视频(获取正确的ID)

    当视频重复时 假设 v GgVH5fXXYSE 有没有一种方法可以使用重复的 id 找到 好 视频 应该有效的视频 的 videoid 所以用 GgVH5fXXYSE 我可以找到 eNqZgEgOfsw 谢谢 不幸的是 没有办法获取这些信息
  • 测试折叠上的 CV 和欠采样

    我对构建具有不平衡数据的 ML 分类器有点迷失 80 20 数据集有30列 目标是标签 我想预测主要课程 我正在尝试重现以下步骤 分割训练 测试数据 在列车组上执行 CV 仅在测试折叠上应用欠采样 在 CV 的帮助下选择模型后 对训练集进行
  • 如何在 XSLT 中进行分页

    我有以下 XSLT
  • Oracle 中将字符串日期转换为日期时间

    我怎样才能把这个字符串日期转换为oracle中的日期时间 2011 07 28T23 54 14Z 使用此代码会引发错误 TO DATE 2011 07 28T23 54 14Z YYYY MM DD HH24 MI SS 如何才能做到这一
  • 如何在 UserControl 中显示 ObservableCollection

    我是 WPF 新手 我发现了一些类似的问题 但不太清楚最后一部分 我有一个带有 ObservableCollection 的 ViewModel 其中包含错误消息 我想在表单上显示这些消息并允许用户选择和复制全部或部分消息 过去在 WinF
  • subprocess.Popen("echo $HOME"... 和 subprocess.Popen(["echo", "$HOME"] 之间有什么区别

    我无法得到它是 bash 相关的或 python 子进程 但结果是不同的 gt gt gt subprocess Popen echo HOME shell True stdout subprocess PIPE communicate b
  • 如何使用 JavaScript 或 HTML 将文件输入设置为空?

    在我正在开发的网站上 我有一个文件输入 用户可以从中上传文件 它使用 Ajax 不是真正的 将文件发送到绑定到 iframe 的 php 文件 我的问题是 Firefox 自动填充文件输入元素 有没有办法让用户可以选择单击提交按钮而不发送文
  • 复制绘图区域在 Powerpoint VBA 中无法正常工作

    我拼凑了以下代码 将图表的格式从一个图表复制到另一个图表 代码仍然很混乱 因为我试图想出引用图表的最佳方法 欢迎任何想法 我无法准确复制主要是绘图区域和辅助访问的格式和位置 一个页面上必须有两个图表 首先选择源 然后选择目标 目前来看 它们
  • 自动滚动 Cypress 行为导致下拉菜单在 Cypress 测试中关闭。有解决方法吗?

    Cypress 的自动滚动行为正在关闭我试图在其中选择元素的下拉列表 这会导致测试失败 因为找不到第一个下拉项 我添加的解决方法是添加第二个 click 键入输入后重新打开下拉菜单 cy get selector click force t
  • SymPy:如何根据其他表达式返回一个表达式?

    我还很陌生SymPy并提出一个可能是基本问题的问题 或者我可能只是误解了 SymPy 的使用方式 有没有办法创建一个不由原子表示而是由其他表达式组合表示的表达式 Example gt gt gt from sympy physics uni
  • 当放入结构中时,值的寿命不够长

    我正在尝试使用 Rust 中的 LLVM这个板条箱 我正在尝试创建一个代码生成器结构来为我保存上下文 模块和构建器 但是当我尝试编译时 我收到一条错误消息 c does not live long enough 我怎样才能编译它 为什么 c
  • 铸造容器 C++ [重复]

    这个问题在这里已经有答案了 可能的重复 是否可以将 Base 类型的 STL 容器转换为 Derived 类型 这应该是一个简单的问题 如果我有一个基类的容器 例如 STL 列表 是否可以将整个容器转换为子类类型 例如 A inherits
  • @Query 注释使用 like %?1%

    我想写一个这样的查询 Query select p from Product p where p name 1 or p desc like 1 但这给了我例外 org hibernate hql ast QuerySyntaxExcept
  • 这个方法如何运作?

    我经常遇到这种注册动作侦听器的方式 虽然我最近一直在使用这种方法 但我不明白这是如何以及为什么的 这是一个 submit new JButton submit submit addActionListener new ActionListe
  • 绑定到 ICollectionView 时模拟数据不显示

    如果我绑定我的ListBox到视图模型ObservableCollection或 XAML 资源CollectionViewSource 模拟数据在设计时显示 有时CollectionViewSource由于某些 XAML 更改而停止显示此
  • Eclipse 在没有互联网连接的 PC 上间歇性挂起

    我从 Eclipse 3 2 开始就遇到过这个问题 但在较新的版本中 这个问题出现得更频繁 每当我访问某些配置菜单项或 Eclipse 解析包含指向某个 Internet URL 的 xmlns 变量的 XML 文件时 Eclipse ID
  • 从 DataTable 批量插入到 SQLCE DataSource

    这是一个使用 SQL CE 作为数据源的 C WPF 应用程序 我有一个 DataTable 显示为 DataGrid 和一个 SQL CE DataSource 我使用 DataAdapter DataSet 和 DataTable 从
  • 如何将 XML 文件读取到包含 null 元素的空字符串的 Dictionary>

    我有一个 xml 文件 例如
  • 雅虎财经 python 上的某些股票和页面出现 404 错误

    我正在尝试通过此 URL 从雅虎财经抓取数据https finance yahoo com quote AAPL key statistics p AAPL 运行下面的 python 代码后 我得到以下 HTML 响应 import num
  • 反转非唯一字典

    我有一本字典 需要根据非唯一值进行反转和分组 该字典根据现有的最佳答案而失败 gt gt gt graph a car red b car blue gt gt gt inv map gt gt gt for k v in graph it