比较 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()
)
我需要比较 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()
)