Нахождение пересечения между несколькими наборами в списке - PullRequest
2 голосов
/ 26 марта 2020

У меня есть список, содержащий несколько наборов {} с разными именами и строковыми значениями.

например.

set1 = {"a", "santa", "clock"}
search = {"why", "is", "santa", "nice"}

list_of_sets = [set1, search]

Я хочу найти пересечение между наборами в списке с помощью функции:

def intersection_between_sets_from_list(list_of_sets):
    """ find the intersection between the sets here"""
    return intersection_strings

любая идея, какой код использовать в " "" найти пересечение между множествами здесь "" ".

1 Ответ

1 голос
/ 26 марта 2020

Если вы хотите найти пересечение между всеми наборами в списке, вы можете выполнить итерацию на list_of_set и найти пересечение между текущим множеством и вашим временным множеством следующим образом:

tmp = list_of_sets[0]
for e in list_of_sets:
    tmp = tmp.intersection(e)

но эта операция на python языке можно сделать:

reduce(lambda x, y: x.intersection(y), list_of_sets)
...