Я хочу сгруппировать кортежи на основе похожих атрибутов
У меня есть список кортежей. [(1, 2), (2, 3), (4, 3), (5, 6), (6, 7), (8, 2)]
Я хочу сгруппировать их в списки, основанные на том, какие кортежи связаны (имеют связанные значения).
Таким образом, конечный результат - два списка связанных значений кортежей = [[1, 2, 3, 4, 8], [5, 6, 7]]
Как я могу написать функцию для этого? Это был вопрос собеседования. Я пытался сделать это на Python, но яЯ разочарован и просто хочу увидеть логику ответа, поэтому даже код psuedo поможет мне, и я пойму, что я сделал неправильно.
У меня было всего несколько минут, чтобы сделать это на месте, но вот что я попробовал:
def find_partitions(connections):
theBigList = [] # List of Lists
list1 = [] # The initial list to store lists
theBigList.append(list1)
for list in theBigList:
list.append(connection[1[0], 1[1]])
for i in connections:
if i[0] in list or i[1] in list:
list.append(i[0], i[1])
else:
newList = []
theBigList.append(newList)
По сути, парень хотел список списков значений, которые были связаны. Я пытался использовать цикл for, но понял, что это нет работа, а потом время истекло.