与this question和this 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'}
让我们假设我的价值观是独一无二的。
答案 0 :(得分:3)
您可以使用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'}