Объединить списки с общими элементами

Мой ввод - это список списков. Некоторые из них имеют общие элементы, например

L = [['a','b','c'],['b','d','e'],['k'],['o','p'],['e','f'],['p','a'],['d','g']]

Мне нужно объединить все списки, которые имеют общий элемент, и повторять эту процедуру до тех пор, пока не будет больше списков с тем же элементом. Я думал об использовании логических операций и цикла while, но не смог придумать хорошего решения.

Окончательный результат должен быть:

L = [['a','b','c','d','e','f','g','o','p'],['k']] 
39
задан jamylak 26 May 2012 в 15:06
поделиться