Finde Sätze von disjunkten Sätzen aus einer Liste von Tupeln oder Sätzen in python

hier liegt das problem: ich habe eine liste von tupeln (könnte bei bedarf auch gesetzt werden). Zum Beispiel

a = [(1, 5), (4, 2), (4, 3), (5, 4), (6, 3), (7, 6)]

Was ich finden möchte ist eine Liste

r = [(1, 5, 4, 2, 3, 6, 7)]

weil die Kreuzung nicht leer ist, wenn alle Mengen zusammengefügt sind.

Für das Beispiel

a = [(1, 5), (4, 2), (4, 3), (5, 4), (6, 3), (7, 6), (8, 9)]

das Ergebnis sollte @ se

r = [(1, 5, 4, 2, 3, 6, 7), (8, 9)]

Hoffentlich ist das Problem klar. Also, was ist der eleganteste Weg, dies in Python zu tun, wenn überhaupt?

Pros

Antworten auf die Frage(4)

Ihre Antwort auf die Frage