比较python中两个字典列表中的不同键

比较python中两个字典列表中的不同键,python,Python,我试图比较两个字典列表来替换相等的值。例如: d1 = [{'a': 'hello', 'b':'world','c':'this','d':'is'},{'a':'ddd' ,'b': 'www','c':'hah','d':'tt'},.....] d2 = [{'Q': 'hello', 'H':'target_word','K':'that','N':'was'},{'Q':'world' ,'H': 'target_word','K':'hah','N':'txt'},.....]

我试图比较两个字典列表来替换相等的值。例如:

d1 = [{'a': 'hello', 'b':'world','c':'this','d':'is'},{'a':'ddd' ,'b': 'www','c':'hah','d':'tt'},.....]
d2 = [{'Q': 'hello', 'H':'target_word','K':'that','N':'was'},{'Q':'world' ,'H': 'target_word','K':'hah','N':'txt'},.....]
有人能告诉我如何将d1中的键('a','b')与d2中的'Q'进行比较吗?如果它们具有相同的值,则必须将d1中的'a'和'b'值替换为d2中的'H'值,即'target\u word'

这是我的一次尝试:

for i in d1:
   for j in d2:
    for k in i.keys():
        for k1 in j.keys():
            if j[k1] == i[k]:
                i[k] = j ['H']
                list.append(i[k])
这个看起来怎么样

d1 = [{'a': 'hello', 'b':'world','c':'this','d':'is'},{'a':'ddd' ,'b': 'www','c':'hah','d':'tt'}]
d2 = [{'Q': 'hello', 'H':'target_word','K':'that','N':'was'},{'Q':'world' ,'H': 'target_word','K':'hah','N':'txt'}]

for input in d1:
    for queries in d2:
        for val in ("a", "b"):
            if input[val] == queries["Q"]:
                input[val] = queries["H"]
输出:

>>> d1
[{'a': 'target_word', 'c': 'this', 'b': 'target_word', 'd': 'is'}, {'a': 'ddd', 'c': 'hah', 'b': 'www', 'd': 'tt'}]

您的输出应该是什么?您只需获取公共密钥,并仅对它们进行比较。