Я сделал функцию, чтобы получить все уникальные значения для списка диктов.
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'}