У меня есть следующий список в Python:
[[1, 2], [3, 4], [4, 6], [2, 7], [3, 9]]
Я хочу сгруппировать их в [[1,2,7],[3,4,6,9]]
Мой код для этого выглядит так:
l=[[1, 2], [3, 4], [4, 6], [2, 7], [3, 9]]
lf=[]
for li in l:
for lfi in lf:
if lfi.intersection(set(li)):
lfi=lfi.union(set(li))
break
else:
lf.append(set(li))
Если мой окончательный список. Я делаю цикл над l и lf, и когда я нахожу пересечение между элементом из l и другим из lf, я хотел бы объединить их (объединение)
Но я не могу понять, почему это не работает. Первые элементы списка l вставляются с помощью команды append, но объединение не работает.
Мой окончательный список выглядит как [set([1, 2]), set([3, 4])]
Кажется, что-то довольно простое, но я не знаком с сетами.
Я ценю любую помощь
Спасибо