fusionar conjuntos que tienen incluso un elemento en común [duplicado]

Posible duplicado:
Python: fusión simple de la lista basada en intersecciones

Estoy tratando de clasificar los objetos. Cada objeto está identificado por una propiedad de identificador único llamadaid. Así que mi lógica de clasificación es la siguiente. Primero preparo una lista de objetos y luego la función de clasificación toma 2 objetos a la vez y devuelve unfrozenset conteniendo suid. Así que siobject1 yobject5 están en la misma categoría afrozenset(id1,id5) es regresado. Ahora sigo agregando estos frozensets a un set, así que al final tengo un set como este

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

Ahora porque los objetos conid1 yid2 están en la misma categoría, objetos conid9 yid3 están en la misma categoría, objetos conid9 yid2 están en la misma categoría, objetos conid1,id2,id3,id9 Debería estar en la misma categoría. Así que debería tener un conjunto como esteset(id1,id2,id3,id9) ¿Puede alguien proporcionar un algoritmo para hacerlo? Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta