Tcl配列を値で並べ替えるにはどうすればよいですか?

マーティン

たとえば、配列出力を並べ替える方法
puts "$ word $ count($ word)"}からのサンプル入力

サンプル入力

Roger 15
Martin 18
Jemmy 16
Jon 12
Sara 12

期待される出力

Martin 18
Jemmy 16
Roger 15
Jon 12
Sara 12
ドナーフェロー

Tclの配列は常にソートされておらず、実際、要素を追加すると(基になるハッシュテーブルが再構築されるときに)、要素の順序が時々変更されます。必要な出力を取得するには、配列の内容を取得lsortし、次の-stride 2オプションを使用することをお勧めます。

# Convert the array to a Tcl list
set contents [array get count]

# First sort by name, as a secondary key
set contents [lsort -stride 2 -index 0 $contents]
# Then sort by count, descending, as a primary key
set contents [lsort -stride 2 -index 1 -integer -decreasing $contents]

# Print the values
foreach {name score} $contents {
    puts "$name $score"
}

この-strideオプションにTcl8.6が必要です。


古いバージョンのTclでは、物事listをタプルにまとめる必要があります。

# Convert the array to a list of pairs
set contents {}
foreach {name score} [array get count] {
    lappend contents [list $name $score]
}

# Do the sorting
set contents [lsort -index 0 $contents]
set contents [lsort -index 1 -integer -decreasing $contents]

# Print the values
foreach pair $contents {
    # Unpack; *not* needed here, but useful for anything more complicated
    foreach {name score} $pair break
    # You could use “lassign $pair name score” but you're on 8.4
    puts "$name $score"
}

Tcl 8.4はサポートされていないソフトウェアであり、セキュリティの問題もありません。また、8.5のサポート期間はあと1年か2年しか残っていないことに注意してください。人の手を握る時間には限界があります…

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

配列を並べ替えるにはどうすればよいですか?

分類Dev

値の出現回数で配列を並べ替えるにはどうすればよいですか?

分類Dev

この配列を年齢値で並べ替えるにはどうすればよいですか?

分類Dev

この配列をこの値で並べ替えるにはどうすればよいですか?

分類Dev

Angularjsで[配列]値要素を並べ替えるにはどうすればよいですか?

分類Dev

子配列jsの合計で配列を並べ替えるにはどうすればよいですか?

分類Dev

文字列の最初の文字で配列を並べ替えるにはどうすればよいですか?

分類Dev

指定された番号を示す配列を並べ替えるにはどうすればよいですか

分類Dev

構造体の配列をすばやく並べ替えるにはどうすればよいですか

分類Dev

別の配列の並べ替え順序に基づいて複数の配列を並べ替えるにはどうすればよいですか?

分類Dev

PHPで多次元配列を時間値で並べ替えるにはどうすればよいですか?

分類Dev

PHPで配列とデータを並べ替えるにはどうすればよいですか?

分類Dev

cで構造体の配列を並べ替えるにはどうすればよいですか

分類Dev

PHPの配列でデータを並べ替えるにはどうすればよいですか?

分類Dev

VB.netでJObjectの配列を並べ替えるにはどうすればよいですか

分類Dev

Javaで2D配列を並べ替えるにはどうすればよいですか?

分類Dev

配列でアイテムを並べ替えるにはどうすればよいですか?

分類Dev

名前のjavascript.map配列をABCで並べ替えるにはどうすればよいですか?

分類Dev

EKEventの配列を日付で並べ替えるにはどうすればよいですか?

分類Dev

平日の文字列の配列を並べ替えるにはどうすればよいですか?

分類Dev

バイナリ値配列の行を長い2進数であるかのように並べ替えるにはどうすればよいですか?

分類Dev

位置1で特定の値を取得するように配列を並べ替えるにはどうすればよいですか?

分類Dev

配列を辞書に並べ替えるにはどうすればよいですか?

分類Dev

配列を辞書に並べ替えるにはどうすればよいですか?

分類Dev

immerを使用して配列を並べ替えるにはどうすればよいですか?

分類Dev

PHPでキー値を持つ配列に配列を並べ替えるにはどうすればよいですか?

分類Dev

配列内のオブジェクトの配列を文字列値で並べ替えるにはどうすればよいですか?

分類Dev

コレクション内の配列を並べ替えるにはどうすればよいですか?

分類Dev

クラスの配列を並べ替えるにはどうすればよいですか?

Related 関連記事

  1. 1

    配列を並べ替えるにはどうすればよいですか?

  2. 2

    値の出現回数で配列を並べ替えるにはどうすればよいですか?

  3. 3

    この配列を年齢値で並べ替えるにはどうすればよいですか?

  4. 4

    この配列をこの値で並べ替えるにはどうすればよいですか?

  5. 5

    Angularjsで[配列]値要素を並べ替えるにはどうすればよいですか?

  6. 6

    子配列jsの合計で配列を並べ替えるにはどうすればよいですか?

  7. 7

    文字列の最初の文字で配列を並べ替えるにはどうすればよいですか?

  8. 8

    指定された番号を示す配列を並べ替えるにはどうすればよいですか

  9. 9

    構造体の配列をすばやく並べ替えるにはどうすればよいですか

  10. 10

    別の配列の並べ替え順序に基づいて複数の配列を並べ替えるにはどうすればよいですか?

  11. 11

    PHPで多次元配列を時間値で並べ替えるにはどうすればよいですか?

  12. 12

    PHPで配列とデータを並べ替えるにはどうすればよいですか?

  13. 13

    cで構造体の配列を並べ替えるにはどうすればよいですか

  14. 14

    PHPの配列でデータを並べ替えるにはどうすればよいですか?

  15. 15

    VB.netでJObjectの配列を並べ替えるにはどうすればよいですか

  16. 16

    Javaで2D配列を並べ替えるにはどうすればよいですか?

  17. 17

    配列でアイテムを並べ替えるにはどうすればよいですか?

  18. 18

    名前のjavascript.map配列をABCで並べ替えるにはどうすればよいですか?

  19. 19

    EKEventの配列を日付で並べ替えるにはどうすればよいですか?

  20. 20

    平日の文字列の配列を並べ替えるにはどうすればよいですか?

  21. 21

    バイナリ値配列の行を長い2進数であるかのように並べ替えるにはどうすればよいですか?

  22. 22

    位置1で特定の値を取得するように配列を並べ替えるにはどうすればよいですか?

  23. 23

    配列を辞書に並べ替えるにはどうすればよいですか?

  24. 24

    配列を辞書に並べ替えるにはどうすればよいですか?

  25. 25

    immerを使用して配列を並べ替えるにはどうすればよいですか?

  26. 26

    PHPでキー値を持つ配列に配列を並べ替えるにはどうすればよいですか?

  27. 27

    配列内のオブジェクトの配列を文字列値で並べ替えるにはどうすればよいですか?

  28. 28

    コレクション内の配列を並べ替えるにはどうすればよいですか?

  29. 29

    クラスの配列を並べ替えるにはどうすればよいですか?

ホットタグ

アーカイブ