インデックスで要素を並べ替え (ReorderByIndexList)

機能説明

与えられたインデックスマッピングに基づいて入力データを並べ替えます。複数のネストデータ構造に対する再ソートにも対応しています。

ReorderByIndexList

使用シーン

入力インデックスに従って元データを並べ替えたい場合に使用します。通常はソート系手順の後に接続して使います。

入力

  • マッピングインデックス(必連):ソート順序を指定するインデックスリスト。

  • 名前なし(必連):並べ替え対象のデータです(1〜16 組の並列入力に対応)。

出力

  • 名前なし:インデックスマッピングに従って並べ替えられたデータです。

パラメータ説明

  • ポート個数(1~16)

    複数組データの同時並べ替えに対応しています。すべてのポートは同一のインデックスマッピングを使用します。範囲は 1〜16 です。

  • 操作層

    並べ替え操作をどの階層に対して適用するかを指定します。

    NumberList、StringList、Vector3DList、BoolList、IndexListなどのデータ構造において、操作層紹介は以下の通り:

    [第1層 [第0層 xx,xx,xx...],[第0層 xx,xx,xx...] ]

    PoseListにおいて、操作層紹介は以下の通り:

    [第1層 [第0層[x,y,z,qx,qy,qz,w]],[第0層[x,y,z,qx,qy,qz,w]] ]

操作層 = 0(デフォルト)

リスト内のサブアイテムを並べ替えます。

入力

  • 元データ: [['A', 'B', 'C'], ['D', 'E', 'F']]

  • インデックス: [[2, 0, 1],[2, 0, 1]]

出力

  • [['C', 'A', 'B'], ['F', 'D', 'E']]

操作層 = 1

第 1 次元リスト内を並べ替えます。

入力

  • 元データ: [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']]

  • インデックス: [2, 0, 1]

出力

  • [['G', 'H', 'I'], ['A', 'B', 'C'], ['D', 'E', 'F']]

操作層 = 2

第 2 次元リスト内を並べ替えます。

入力

  • 元データ: [[['A','B'], ['C','D']], [['E','F'], ['G','H']]]

  • インデックス: [1, 0]

出力

  • [[['E','F'], ['G','H']], [['A','B'], ['C','D']]]