タプルのリストがあります。[ (1, 2), (2, 3), (4, 3), (5, 6), (6, 7), (8, 2) ]
どのタプルが接続されているか (関連する値があるか) に基づいて、それらをリストにグループ化したいと考えています。
したがって、最終結果は、関連するタプル値の 2 つのリスト = [ [1, 2, 3, 4, 8], [5, 6, 7] ] になります。
これを行う関数をどのように書くことができますか? これは就職面接の質問でした。私はPythonでそれをやろうとしていましたが、私はイライラしていて、答えの背後にあるロジックを見たいだけなので、疑似コードでも助けになるので、何が間違っていたのかがわかります.
その場でこれを行うのに数分しかありませんでしたが、私が試したことは次のとおりです。
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 ループを使用しようとしましたが、機能しないことに気付き、時間切れになりました。