У меня есть список кортежей:
[(3,4), (18,27), (4,14)]
, и мне нужен код, объединяющий кортежи с повторяющимися номерами, создающий другой список, в котором все элементы списка будут содержать только уникальные номера.Список должен быть отсортирован по длине кортежей, то есть:
>>> MergeThat([(3,4), (18,27), (4,14)])
[(3,4,14), (18,27)]
>>> MergeThat([(1,3), (15,21), (1,10), (57,66), (76,85), (66,76)])
[(57,66,76,85), (1,3,10), (15,21)]
Я понимаю, что это похоже на алгоритмы иерархической кластеризации, о которых я читал, но не могу их выяснить.
Существует ли относительно простой код для функции MergeThat ()?