字典到列表的映射

Dictionary to list Mapping

我有一个像这样的列表

l = [['A', 'B', 'C', 'D'], ['P', 'Q', 'R', 'S']]

还有像

这样的字典
d = {'U':'A', 'L':'B', 'M':'C', 'N':'D', 'O':'F'}

我想映射,如果第一个内部列表中存在字典的值,那么它将使用字典键映射第二个内部列表,否则丢弃字典键。

预期输出:

{'U':'P', 'L':'Q', 'M':'R', 'N':'S'}

你可以把l变成它自己的映射:

l_map = dict(zip(*l))

然后

{key: l_map.get(value) for key, value in d.items() if value in l_map}

演示:

In [3]: l_map
Out[3]: {'A': 'P', 'B': 'Q', 'C': 'R', 'D': 'S'}

In [4]: {key: l_map.get(value) for key, value in d.items() if value in l_map}
Out[4]: {'U': 'P', 'L': 'Q', 'M': 'R', 'N': 'S'}