tips001
データの構造を変える①
— Flip Matrix
Sets ▸ Tree ▸ Flip Matrix
たくさんのリストの、縦と横を入れ替えるコンポーネント。
3リスト×4項目が、4リスト×3項目になる。
データ構造の変化について
Before3リスト × 4項目
| {0} | 11 | 12 | 13 | 14 |
|---|---|---|---|---|
| {1} | 21 | 22 | 23 | 24 |
| {2} | 31 | 32 | 33 | 34 |
After4リスト × 3項目
| {0} | 11 | 21 | 31 |
|---|---|---|---|
| {1} | 12 | 22 | 32 |
| {2} | 13 | 23 | 33 |
| {3} | 14 | 24 | 34 |
{0} はリストの通し番号で、パスと呼ぶ。
元のリストから n 番目だけを集め直すので、リストの本数と1本あたりの項目数が入れ替わる。
番号は {0} から振り直される。
使用例
横1列につないだ点を、縦につなぎ変える。
点は1つも動いていない。
つなぐ相手が入れ替わるだけで、線の走る向きが変わる。
注意
リストごとの項目数が不揃いだと、足りない分は null で埋まる。
2個/3個/4個の3リストを通すと出力は4リストで、{2} = null, 23, 33、{3} = null, null, 34。
パスが2か所以上で違うとき({0;0} と {1;1} が混ざる場合)はエラーになり、All paths may only differ at a single locus が出る。
違いが1か所だけなら({0;0} と {1;0})そのまま通る。