3

次のようなタプルのリストがあります(各タプルは2つの数字で構成されています):

array = [(1, 2), (1, 3), (2, 4), (5, 8), (8, 10)]

これらの数値はいくつかの db オブジェクト (レコード) の ID であり、タプル内には重複オブジェクトの ID があるとしましょう。これは、1 と 2 が重複していることを意味します。1 と 3 は重複しているため、2 と 3 も重複しています。

a == b かつ b == c の場合、a == c

ここで、これらすべての重複オブジェクト ID を次のように 1 つのタプルにマージしたいと考えています。

output = [(1, 2, 3, 4), (5, 8, 10)]

ループと冗長マッチを使用してこれを実行できることはわかっています。処理/計算が少ない(ある場合)より良いソリューションが欲しいだけです。

4

4 に答える 4