我想把字典和函数内部的精确模式进行比较。我的最终目标是:
当两个字典具有相同的键时,value
。
例如:
dict1 = {"EX1": "C", "EX2": "D", "EX4": "A", "EX5": "A"}
dict2 = {"EX1": "C", "EX2": "A", "EX3": "A", "EX4": "A", "EX5": "A"}预期产出:
8
8因为:-The EX1键在两个字典中具有相同的值(3)
-The EX2键在两个字典中没有相同的值(3-1=2)
-The EX3键不存在于dict1中,因此没有操作(2)
-The EX4键在两个字典(2+3=5)中具有相同的值。
-The EX5键在两个字典(5+3=8)中具有相同的值。
我从互联网上得到了两个我不知道如何转换成函数的片段,我不知道这些是否有用:
{k : dict1[k] for k in dict1 if k in rep_valid and dict1[k] == rep_valid[k]} #Get same items
{k : dict2[k] for k in set(dict2) - set(dict1)} #Get difference发布于 2020-10-31 11:00:47
count = 0
for key in (set(dict1.keys()) & set(dict2.keys())):
if dict1.get(key) == dict2.get(key):
count += 3
else:
count -= 1
print(f"count = {count}")
#count = 8https://stackoverflow.com/questions/64617593
复制相似问题