如何检查字典中是否至少有一个键作为Python中另一个字典中的值存在?

car*_*ure -1 python

我正在创建一个接受dictionary1的函数,并检查是否存在任何键作为值dictionary2.

我尝试过使用dictionary2.isdisjoint(dictionary1)但是这对于只检查按键是有效的.

如何在Python中检查键值?

mon*_*kut 7

不确定这是否真的是一个足够大的任务放入一个单独的函数,但无论如何,这是一个使用any()关键字的例子:

if any(k in d2.values() for k in d1.keys()):
    # do stuff
Run Code Online (Sandbox Code Playgroud)


Jay*_*Jay 5

如果以下语句返回True(它将返回公共值),则:

set(dictionary1.keys()) & set(dictionary2.values())
Run Code Online (Sandbox Code Playgroud)

说明:

  • dictionary1.keys() 将给出dictionary1中的键列表

  • dictionary2.values() 将给出dictionary2中的值列表

  • 将这两个转换为set,如果它们具有共同的值,您将最终获得两者之间的公共值.
dictionary1 = {1:2, 2:3, 3:4}
dictionary2 = {2:1, 2:3, 3:4}
print set(dictionary1.keys()) & set(dictionary2.values())
Run Code Online (Sandbox Code Playgroud)

输出:

set([3])
Run Code Online (Sandbox Code Playgroud)