Я пытаюсь объединить все списки в список списков, имеющих общие элементы. У меня есть рабочий код. Тем не менее, на этом примере, похоже, что-то сломалось:
def merge_subs(lst_of_lsts):
res = []
for row in lst_of_lsts:
for i, resrow in enumerate(res):
if row[0]==resrow[0]:
res[i] += row[1:]
break
else:
res.append(sorted(row))
return sorted(res)
Ввод:
merge_subs([[1, 7, 3], [1, 7, 5], [2, 0, 4], [2, 0, 6], [3, 7, 1], [3, 7, 5], [4, 0, 2], [4, 0, 6], [5, 7, 1], [5, 7, 3], [6, 0, 2], [6, 0, 4]])
Мой результат:
[[0, 2, 4, 6], [1, 3, 5, 7], [3, 5, 7]]
но я должен получить:
[[0, 2, 4, 6], [1, 3, 5, 7]]