当值是列表时交换字典键和值

2024-03-30

类似于这个问题 https://stackoverflow.com/questions/1031851/python-best-way-to-exchange-keys-with-values-in-a-dictionary and 这个问题 https://stackoverflow.com/questions/483666/python-reverse-inverse-a-mapping,我想交换字典中的键和值。

不同的是,我的值是列表,而不仅仅是单个值。

因此,我想转向:

In [120]: swapdict = dict(foo=['a', 'b'], bar=['c', 'd'])

In [121]: swapdict
Out[121]: {'bar': ['c', 'd'], 'foo': ['a', 'b']}

into:

{'a': 'foo', 'b': 'foo', 'c': 'bar', 'd': 'bar'}

假设我很高兴我的价值观是独一无二的。


您可以使用字典理解 https://www.python.org/dev/peps/pep-0274/.items() https://docs.python.org/2.7/library/stdtypes.html#dict.items method.

In []: {k: oldk for oldk, oldv in swapdict.items() for k in oldv}
Out[]: {'a': 'foo', 'b': 'foo', 'c': 'bar', 'd': 'bar'}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当值是列表时交换字典键和值 的相关文章

随机推荐

  • Wcf 类公共属性与 get;set 属性

    当我创建一个 wcf 类时 我经常这样做 DataContract Public class Customer DataMember public string Name get set 有人告诉我这样做更好 DataContract Pu
  • 如何在 Java Response 对象中返回 JsonArray

    我正在尝试实现基于 java 的 web 服务服务器 它返回 Json 和基于 java 脚本的 web 服务客户端 这是我的java部分 Path myapp Consumes MediaType APPLICATION JSON Pro
  • 在微服务中使用 json Web 令牌进行会话管理

    我试图弄清楚如何在微服务架构中使用 json Web 令牌来管理会话 看看这个设计article http nordicapis com how to control user identity within microservices 我
  • C++ 流如何为输入分配空间?

    例如 is type std istream str type std string is gt gt str 这是怎么长出来的str适应输入 它逐个字符地读取并调用str push back 或类似的东西 或者它是否有一种机制可以在读取输
  • 作为 Xcode 构建过程的一部分,如何运行上传符号来上传 dSYM?

    好的 所以我正在尝试自动上传 dSYM 我正在遵循此官方文档中的说明 https firebase google com docs crashlytics get deobfuscated reports https firebase go
  • 左右声道与麦克风录音分离

    我试图从麦克风录制并将录制的数据仅发送到左通道 右通道上有零 但我的技术似乎不起作用 我正在使用 PCM 16 和单声道模式的录音和音轨 我似乎做错了什么 package com example leftrighttest import a
  • 色彩图的非线性缩放以增强对比度

    以下 python 代码创建包含正态分布值的矩阵热图 import numpy as np from matplotlib import pylab as plt np random seed 123 make sure we all ha
  • 如何迁移到WKWebView?

    我试图了解如何使用 iOS8 中新的 WKWebView 但找不到太多信息 我读了 http developer telerik com featured why ios 8s wkwebview is a big deal for hyb
  • 学习 Objective-C 的好资源 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Maven 获取特定类

    有没有一种方法可以让 maven 在将依赖项导入 uber jar shade 时仅包含特定的 class 文件 我正在寻找一种方法来将名称中包含 Client 的文件从依赖项 jar 中提取出来并添加到最终的 jar 中 任何帮助都会很棒
  • Python 中的字母数字排序和负数

    我有一个相当简单的列表 一个数字后跟一个句子 这里按正确的顺序 347 a negative number 100 another negative number 25 and again a negative number 17 some
  • ArrayCollection 删除排序

    对我的数据提供程序 数组集合 应用数字排序后 我无法通过平铺列表对项目重新排序 我是否需要从 arrayCollection txt 中删除排序 如果是这样 这只是设置 collection sort null 的情况吗 var sortF
  • 为什么用户控件加载事件没有被触发

    我有一个用户控件 我有时再次遇到这种情况 但总是可以通过使用 New 构造函数 但我仍然想知道我做错了什么 因为如果加载了控件 则必须触发 load 事件 这是一些代码
  • 签名 url 中存在 MalformedSecurityHeader 错误 - 标头包含在签名标头中,但未包含在请求中

    我正在尝试使用签名 URL 使用 React 和 Node js 通过 Google 应用程序引擎上传文件 我能够生成签名 URL 但在控制台中收到 CORS 错误时 当我在浏览器中打开签名 URL 时 收到以下错误
  • 错误 LNK1120:1 未解析的外部 - VS13 C [重复]

    这个问题在这里已经有答案了 我尝试编译这段代码 include
  • 如何在 Yahoo PHP5 Sdk yos-social-php5 上使用 YQL 获取私有数据

    我在用雅虎 PHP5 SDK https github com yahoo yos social php5并使用它从表 Social contacts 中获取用户联系人 该表是私有数据 在 Delicious 的示例中 它仅显示从 YQL
  • 使用 Swift 的预期声明错误

    我正在尝试传递 a 的布尔值UISwitch到另一个班级使用NSUserDefaults 由于某种原因 在包含开关的类中 if应该将值设置为的语句NSUserDefaults无法读取 switch 声明 ViewController swi
  • jquery .eq() 方法中的“eq”代表什么?

    例子 td eq 2 css color red or td eq 2 css color red 我想知道缩写 eq 代表什么 我不是问 eq 方法是做什么的 可以找到here http api jquery com eq 关于这个问题的
  • Mono Cecil 生成 PDB 时出错

    下面的代码允许我更改方法主体并保存回程序集 Recreate PDB var assemblyResolver new DefaultAssemblyResolver var assemblyLocation Path GetDirecto
  • 当值是列表时交换字典键和值

    类似于这个问题 https stackoverflow com questions 1031851 python best way to exchange keys with values in a dictionary and 这个问题