Python 在具有不同键的两个字典列表之间查找相同的值

Python 在具有不同键的两个字典列表之间查找相同的值,python,list,dictionary,Python,List,Dictionary,我有两个字典列表: list_1 = [{a:'cat', b:'dog', c:'bird'},{a:'**mouse**', b:'lizard', c:'fish'},{a:'**hen**', b:'pony', c:'frog'}] list_2 = [{x:'goat', y:'**mouse**', z:'horse'},{x:'horse', y:'**hen**', z:'tiger'},{x:'bee', y:'fly', z:'toad'}] 值“mouse”和值“hen

我有两个字典列表:

list_1 = [{a:'cat', b:'dog', c:'bird'},{a:'**mouse**', b:'lizard', c:'fish'},{a:'**hen**', b:'pony', c:'frog'}]
list_2 = [{x:'goat', y:'**mouse**', z:'horse'},{x:'horse', y:'**hen**', z:'tiger'},{x:'bee', y:'fly', z:'toad'}]
值“mouse”和值“hen”出现在两个字典列表中,但这两个值都有唯一的键

在本例中,当两个列表中的“mouse”键和“hen”键不同时,如何查找列表_1和列表_2之间字典值的匹配位置

我试图搜索类似的帖子,但只找到了匹配键的比较。 (示例:在两个列表中,“hen”的键为“a”,而“鼠标”的值为“c”)

也许吧


可能吧?

我制作了一个函数,用于获取dict列表的所有唯一值

def unique_values_from_list(dict_list):
    all_values = set()
    for dictionary in dict_list:
        all_values.update(dictionary.values())
    return all_values
使用此代码,我们可以获得两组唯一值,并找到这两组值的交点:

list_1 = [{'a':'cat', 'b':'dog', 'c':'bird'},{'a':'mouse', 'b':'lizard', 'c':'fish'},{'a':'hen', 'b':'pony', 'c':'frog'}]
list_2 = [{'x':'goat', 'y':'mouse', 'z':'horse'},{'x':'horse', 'y':'hen', 'z':'tiger'},{'x':'bee', 'y':'fly', 'z':'toad'}]

unique1 = unique_values_from_list(list_1)
unique2 = unique_values_from_list(list_2)

print(unique1)
print(unique2)
intersection = unique1.intersection(unique2)
print(intersection)
我的结果是:

unique1: {'fish', 'cat', 'frog', 'dog', 'lizard', 'hen', 'pony', 'bird', 'mouse'}
unqiue2: {'goat', 'fly', 'horse', 'hen', 'toad', 'mouse', 'tiger', 'bee'}
intersection: {'hen', 'mouse'}

我制作了一个函数来获取dict列表的所有唯一值

def unique_values_from_list(dict_list):
    all_values = set()
    for dictionary in dict_list:
        all_values.update(dictionary.values())
    return all_values
使用此代码,我们可以获得两组唯一值,并找到这两组值的交点:

list_1 = [{'a':'cat', 'b':'dog', 'c':'bird'},{'a':'mouse', 'b':'lizard', 'c':'fish'},{'a':'hen', 'b':'pony', 'c':'frog'}]
list_2 = [{'x':'goat', 'y':'mouse', 'z':'horse'},{'x':'horse', 'y':'hen', 'z':'tiger'},{'x':'bee', 'y':'fly', 'z':'toad'}]

unique1 = unique_values_from_list(list_1)
unique2 = unique_values_from_list(list_2)

print(unique1)
print(unique2)
intersection = unique1.intersection(unique2)
print(intersection)
我的结果是:

unique1: {'fish', 'cat', 'frog', 'dog', 'lizard', 'hen', 'pony', 'bird', 'mouse'}
unqiue2: {'goat', 'fly', 'horse', 'hen', 'toad', 'mouse', 'tiger', 'bee'}
intersection: {'hen', 'mouse'}

您希望这里的输出是什么?您列出和的原因是什么?Python 2已经死了,除了在遗留项目中。您需要知道哪些DICT包含匹配值吗?如果是的话,您想如何指出哪个dict是哪个?你需要知道对应的钥匙是什么吗?或者你只是想计算出每一个出现不止一次的值。。。如果一个值出现在同一个列表中的两个不同的dict中呢?我的目标是在这两个列表之间找到通用的dictionary值。输出应该是“Hen”和“Mouse”,您希望输出在这里是什么?您列出和的原因是什么?Python 2已经死了,除了在遗留项目中。您需要知道哪些DICT包含匹配值吗?如果是的话,您想如何指出哪个dict是哪个?你需要知道对应的钥匙是什么吗?或者你只是想计算出每一个出现不止一次的值。。。如果一个值出现在同一个列表中的两个不同的dict中呢?我的目标是在这两个列表之间找到通用的dictionary值。输出应为“Hen”和“Mouse”