python - 将单个值分配给具有多个值的字典键中的单个键

标签 python dictionary key-value

我看到很多论坛都在为 python 中的一个键分配多个值,但没有一个是相反的。我想要的是将单个键分配给单个值,然后翻转它。

我有什么:

myDict = {1: ['id1', 'id2', 'id3'], 2: ['id4', 'id5'], 3: ['id6']}

我想做什么:

myDict = {'id1': 1, 'id2': 1, 'id3': 1, 'id4': 2, 'id5': 2, 'id6': 3}

我一直在搜索论坛,但无法弄清楚如何将单个值分配给单个键,但我猜“翻转”部分看起来像这样:

myDict = {y:x for x,y in MyDict.iteritems()}

如有任何帮助,我们将不胜感激。

编辑: 所有 id 都是唯一的(不是重复/倍数的机会)

最佳答案

您需要嵌套 2 个推导式,因为您在原始字典中有每个键值对的值列表。

怎么样

{id:x for x,y in myDict.iteritems() for id in y}

关于python - 将单个值分配给具有多个值的字典键中的单个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35726003/

相关文章:

python - pandas 将系列值折叠成一个值

java - Hadoop 中的 HashMap

python - 如何在 Python 中创建 NA 或 Null 值的数组?

python - python 中字典条目的空合并

javascript - 如何迭代对象的属性值对?

python - 如何对字典中的日期字符串进行排序

ruby - 根据字典匹配和替换 Ruby 数组

javascript - 将 Javascript 数组缩减为 Map,从内部值创建键

Python Tk Canvas 项事件绑定(bind): iterating bindings over multiple items

python - 使用 PyMC 3 进行 Probit 回归