fusionar listas con intersección

Dado que:

g=[[], [], [0, 2], [1, 5], [0, 2, 3, 7], [4, 6], [1, 4, 5, 6], [], [], [3, 7]]

¿Cómo puedo comparar cada lista dentro de g para que las listas que comparten cualquier número común puedan fusionarse en un conjunto?

p.ej.
0 existe eng[2] yg[4] entonces se fusionan con un conjunto{0,2,3,7}

He intentado lo siguiente pero no funciona:

for i in g:
    for j in g:
        if k in i == l in j:
            m=set(i+j)

Quiero hacer el conjunto más grande posible.

Respuestas a la pregunta(3)

Su respuesta a la pregunta