python - 检查一个字典的值是否是另一个字典的键

标签 python python-3.x dictionary

我基本上想检查一个字典中的值是否是另一个字典中的键。

例如,我有两本字典

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}

您只是缺少两个元素:

  1. 您不需要编写 if v in b.items() 因为 Python 将 if v in b 解释为“如果 v 在 b 的键中” .
  2. 您需要将 k 映射到 b 中的 v 值,而不是映射到 v 本身,即 b[v]

关于python - 检查一个字典的值是否是另一个字典的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55564674/

相关文章:

python - 从 Azure DevOps Python Artifacts feed 进行 pip 安装不起作用

python - 使用不同的值更新多行python和mysql

python - 如何避免从Python模块加载特定变量

python - 按百分位数对 python 字典进行排名

python - 在 Python 中将列表对转换为键值对

python - 我们如何在 PyMC3 的分层模型中预测新的看不见的组?

python - 使用selenium写入Chrome控制台

python - 顺时针对ndarray进行排序的Numpyic方法?

python - Windows 10 conda 未被识别为内部或外部命令

python - 用多种推导式填充字典