Mesclar listas que compartilham elementos comuns
Minha entrada é uma lista de listas. Alguns deles compartilham elementos comuns, por exemplo.
L = [['a','b','c'],['b','d','e'],['k'],['o','p'],['e','f'],['p','a'],['d','g']]
Preciso mesclar todas as listas, que compartilham um elemento comum, e repita esse procedimento, desde que não haja mais listas com o mesmo item. Pensei em usar operações booleanas e um loop while, mas não consegui encontrar uma boa solução.
O resultado final deve ser:
L = [['a','b','c','d','e','f','g','o','p'],['k']]