Jump to content
Imoto

Tcl/Tk: 配列からリストへの変換と、リストのソート

Recommended Posts

配列(array)に何かのIDと値が入っている場合に、値ベースでソートをしたいという場合は、下記のように配列をリストに変換してから、lsortコマンドを利用することで可能です。

 

### 配列の作成(1つ目がID,2つ目が結果値と想定) ###
array set sample1 {
 100 50.3
 101 1.0
 102 3.7
 103 10.9
 104 2.2
 105 200.1
 106 0.1
 107 90.6
}

 

### 配列からリストに変換 ###
set sample2 "";
foreach {ID Val} [array get sample1] {
 lappend sample2 "$ID $Val";
}

 

### リストの値部分でソート ###
lsort -index 1 -dictionary $sample2;

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...