シーケンスをペアに分割し、組み合わせのすべての要素が一意になるように組み合わせる必要があります。私はpythonのitertoolsを使用していくつかのアプローチを試しましたが、解決策は見つかりませんでした。 [1、2、3 4] シーケンスを一意のペアのセットに分割する
と以下の3つの組み合わせに分割:私はこのシーケンスを取る機能を希望例示する
[[1, 2], [3, 4]]
[[1, 3], [2, 4]]
[[1, 4], [2, 3]]
それがなければならない、またより長いシーケンスのために働くが、奇数の長さのシーケンスを処理する必要はない。例えば。以下の15個の組み合わせに
[1,2,3,4,5,6]
分割:
[[1, 2], [3, 4], [5, 6]]
[[1, 2], [3, 5], [4, 6]]
[[1, 2], [3, 6], [4, 5]]
[[1, 3], [2, 4], [5, 6]]
[[1, 3], [2, 5], [4, 6]]
[[1, 3], [2, 6], [4, 5]]
[[1, 4], [2, 3], [5, 6]]
[[1, 4], [2, 5], [3, 6]]
[[1, 4], [2, 6], [3, 5]]
[[1, 5], [2, 3], [4, 6]]
[[1, 5], [2, 4], [3, 6]]
[[1, 5], [2, 6], [3, 4]]
[[1, 6], [2, 3], [4, 5]]
[[1, 6], [2, 4], [3, 5]]
[[1, 6], [2, 5], [3, 4]]
...というように。
Mapleと呼ばれるCASには、この機能がsetpartitionという名前で実装されています。
編集:wksによって指摘された深刻な深夜のタイピングエラーを修正し、出力を明確にしました。
あなたは[[1,2]、[3,4]]を意味しましたか? – wks
はい、私は非常に疲れているに違いない。 – FrederikNS