类似于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'}
假设我很高兴我的值(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/