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

标签 python python-2.7

类似于this questionthis question ,我想交换字典中的键和值。

不同之处在于,我的值是列表,而不仅仅是单个值。

因此,我想转向:

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

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

进入:

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

假设我很高兴我的值(value)观是独一无二的。

最佳答案

您可以使用 dictionary comprehension.items()方法。

In []: {k: oldk for oldk, oldv in swapdict.items() for k in oldv}
Out[]: {'a': 'foo', 'b': 'foo', 'c': 'bar', 'd': 'bar'}

关于python - 当值是列表时交换字典键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31674403/

相关文章:

python - 在 Alpine Linux 上安装 Pillow 时没有这样的文件或目录 "limits.h"

python - 如何在Python中并排打印嵌套列表到宪章中

Python 单元测试和测试发现

javascript - 是否可以将跨浏览器扩展链接到 Python Web 应用程序后端?

python - Sublime Text Anaconda 更新后出错

python - requirements.txt 中的安装时依赖项

Python字典查找返回多个结果?

python - 饼图中的间距字符串

python - 安装 Coral Edge TPU 软件出现 "ModuleNotFoundError: No module named ' pycoral.adapters'"错误

google-app-engine - db.put() 似乎没有正常工作