łączenie zestawów, które mają nawet jeden wspólny element [duplikat]

Możliwy duplikat:
Python: proste łączenie list na podstawie przecięć

Próbuję klasyfikować obiekty. Każdy obiekt jest identyfikowany przez unikalną właściwość identyfikatora o nazwieid. Tak więc moja logika klasyfikacji wygląda tak. Najpierw przygotowuję listę obiektów, a następnie funkcja klasyfikacji pobiera 2 obiekty naraz i zwraca afrozenset zawierające ichid. Więc jeśliobject1 iobject5 są w tej samej kategorii afrozenset(id1,id5) jest zwracany. Teraz dodaję te frozensety do zestawu, więc w końcu mam taki zestaw

matched_set=(
             frozenset(id1,id2),
             frozenset(id9,id3),
             frozenset(id9,id2),
             frozenset(id24,id22),
             frozenset(id1,id23),
             frozenset(id25,id24),
             frozenset(id30,id24)
            )

Teraz, ponieważ obiekty zid1 iid2 są w tej samej kategorii, obiekty zid9 iid3 są w tej samej kategorii, obiekty zid9 iid2 są w tej samej kategorii, obiekty zid1,id2,id3,id9 powinien być w tej samej kategorii. Powinienem mieć taki zestawset(id1,id2,id3,id9) Czy ktoś może dostarczyć algorytm, aby to zrobić? Dzięki

questionAnswers(1)

yourAnswerToTheQuestion