我有一個類似的清單
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'}
uj5u.com熱心網友回復:
你可以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'}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/451077.html
上一篇:Python-錯誤,迭代字典串列
