我基本上想检查一个字典中的值是否是另一个字典中的键。
例如,我有两本字典
a = {armani: jeans, dolce: gabbana}
b = {jeans: robo, jobs: versace}
我编写了代码来进行检查,以便它只获取另一个字典中的键值。所以在这种情况下,我只想显示 {armani: robo}
因为牛仔裤已经存在于两者中。就像第二个字典中牛仔裤的值一样,然后成为新的最终字典中的主要值
这是代码:
{k:v for k,v in a.items() if v in b.items()}
但它不起作用,我不知道如何检查该值是否是另一个列表中的键
最佳答案
这应该有效:
{k:b[v] for k,v in a.items() if v in b}
您只是缺少两个元素:
- 您不需要编写
if v in b.items()
因为 Python 将if v in b
解释为“如果 v 在 b 的键中” . - 您需要将 k 映射到 b 中的 v 值,而不是映射到 v 本身,即
b[v]
。
关于python - 检查一个字典的值是否是另一个字典的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55564674/