Tclリストソートコマンドlsort



Tcl List Sorting Command Lsort



lsort ?options? list

リスト内の要素を並べ替えて、並べ替えられた新しいリストを返します。デフォルトでは昇順で並べ替えます。オプションは、次のオプションをサポートします。

オプション 説明
-ASCII 文字列の比較。
-辞書 辞書の比較。 2つの点を除いて、-asiiと同じです。1。文字がソートされたキーでない限り、大文字と小文字を区別しません。たとえば、aBcはabbとabcの間にあります。 2. 2つの文字列に数字が埋め込まれている場合、数字は文字ではなく整数で比較されます。たとえば、a10bはa9bとa11bの間にあります。
-整数 リスト要素を整数に変換し、整数比較を使用します。
-リアル リスト要素を浮動小数点値に変換し、浮動小数点数を使用してそれらを比較します。
-コマンドコマンド 比較コマンドとしてcmdsを使用します。 cmdsコマンドで構成されるスクリプトは、追加のパラメーターとして2つの要素を追加します。スクリプトは、最初の要素が2番目の要素より大きい、等しい、または小さい場合、ゼロより大きい、等しい、またはより小さい整数を返す必要があります。
-増加する リストを昇順で並べ替えます。
-減少する リストを降順で並べ替えます
-指数 ソートされた値の代わりに、ソートされたリストのインデックスを返します。
-インデックスindexList このオプションが指定されているが、-strideオプションが使用されていない場合、リスト自体の各要素は適切なTclサブリストである必要があります。 Lsortは、サブリスト全体に基づいてソートするのではなく、比較のために各サブリストからindexList要素を抽出します。サブリストにサブリストも含まれている場合、indexListはインデックスのリストにすることもでき、lindexと同じ方法で解析され、文字列インデックスをサポートします。
-ストライドstrideLength Tcl8.6 そのため、このオプションを指定すると、リスト内のstrideLength要素はグループとして扱われます。これらのグループは、グループの最初の要素によって、または-indexオプションが使用されている場合は、各グループの-indexで指定されたインデックスによってソートされます。要素が並べ替えられます。要素は常にグループ内の同じ位置に留まります。リストの長さはstrideLengthの整数倍である必要があり、最小値は2であることに注意してください。
-nocase 比較では大文字と小文字は区別されません。 -dictionary、-integer、-realオプションと一緒に使用した場合は無効です。
-ユニーク このオプションを指定すると、リストで見つかった繰り返し要素の最後のセットのみが保持されます。繰り返すかどうかは、ソート時に使用する比較方法によって異なります。
set list1 {aBc abc abb} lsort $list1 lsort -nocase $list1 lsort -dictionary $list1 lsort -indices $list1 lsort -indices -decreasing $list1 set list2 {{a 10} {b 1} {c 3}} lsort -index 1 $list2 lsort -integer -index 1 $list1 set list3 {a 10 b 1 c 3} lsort -stride 2 $list3 lsort -stride 2 -index 1 -integer $list3 lsort -nocase $list1 set list4 {{a 1} {b 1} {c 3}} lsort -unique $list4 lsort -unique -index 1 $list4