比较 python 中特定键值对的不同字典?

Compare different dicts for specific key value pair in python?

我需要比较 python 中多个字典中的键和值。发布了类似的问题,但对于我的具体问题,它们是不够的。我遇到了我似乎无法理解的语法错误。

我的代码试图比较五个不同字典之间的字典键和值。我需要 return 它们之间 100% 相同的那些,并将它们添加到 'common' 字典中,comm_one:

comm_one = {}
for k, v in dot_105.items():
    if k, v in dot_110.items() and k, v in dot_81.items() and k, v in dot_82.items() and k, v in dot_100.items():
        comm_one[k] = v

    elif k, v not in dot_110.items() and k, v not in dot_81.items() and k, v not in dot_82.items() and k, v not in dot_100.items():
        print(k, v,' is only in dot_105.')

遍历所有字典中的所有值的正确语法是什么?如果有一个我可能遗漏的问题可以回答这个问题,我将不胜感激 link。提前致谢。

comm_one = {}

for key,value in dot_105.items():
    containing = [key in d and d[key]==value for d in (dot_110, dot_81, dot_82, dot_100)]
    if all(containing):
        comm_one[key] = value
    elif not any(containing):
        print(key, value,' is only in dot_105.')

还有一个建议,如何使用 Set Data structures 到 return 相交数据

从 Python 版本 2.6 开始,您可以对 set.intersection() 使用多个参数,例如

https://docs.python.org/2/library/stdtypes.html#set

intersected_data = set.intersection(dot_105.iteritems(),dot_110.iteritems() ,dot_81.iteritems(), dot_82.iteritems(), dot_100.iteritems())