次のリストがあるとします。
[[452, 268],
[303, 181],
[452, 331],
[378, 217],
[572, 476],
[464, 218],
[42, 440],
[428, 476],
[42, 36],
[478, 35],
[232, 275],
[428, 440],
[378, 36],
[572, 35]]
同じ x または y ポイントを共有するペアが存在することがわかります。たとえば、最初の要素[452, 268]
と 3 番目の要素[452, 331]
が同じ x ポイントを共有します。
[x1 y1 x2 y2]
ポイントの1つのうち2つx1 y1 x2 y2
が等しいフォームの要素を持つ配列を作成する最適な方法は何でしょうか。したがって、基本的には、すべての (x,y) ポイントをループして、それらが少なくとも 1 つの等しい要素を共有しているかどうかを判断し、それらを に結合したいと考えてい[x1 y1 x2 y2]
ます。
私の考えは、リスト全体をループして連続するタプルを比較することでしたが、これにアプローチする良い方法が見つかりませんでした。また、これにヘルパーがいるかどうかitertools
も調べようとしましたが、運がありませんでした。どんな助けでも大歓迎です。