Найти наборы непересекающихся наборов из списка кортежей или наборов в Python
вот проблема: у меня есть список кортежей (может быть наборы, если это необходимо). Например:
a = [(1, 5), (4, 2), (4, 3), (5, 4), (6, 3), (7, 6)]
То, что я хочу найти, это список
r = [(1, 5, 4, 2, 3, 6, 7)]
потому что пересечение не пусто, как только все наборы собраны вместе.
Для примера
a = [(1, 5), (4, 2), (4, 3), (5, 4), (6, 3), (7, 6), (8, 9)]
результат должен быть
r = [(1, 5, 4, 2, 3, 6, 7), (8, 9)]
Надеюсь, проблема ясна. Так какой же самый элегантный способ сделать это в Python, если таковой имеется?
ура