動的リストに基づいて並べ替えを行いたい。以下で説明させてください。私は変更できないtclバージョン8.4を使用しています。それを使用する必要があります
list1 = {{a b c} {c b c a} {b b a}} ..... 1st input data
リスト 1 は、異なるタイプのサブリストを任意の順序で形成する 3 つのメンバーを持つ tcl リストであり、これは毎回変更されます。たとえば、次回、リスト 1 は次のようになります。
list1 = {{c} {b c a} {b c} {a c a c}} ..... 2nd input data (for next time consideration)
lsort
ここで、ループやstring compare
その他の tcl コマンドを使用すると、新しい tcl リストに優先順位に基づいて個々のメンバーが含まれるように、それらを並べ替えたいと考えています。昇順/降順があるように。どちらの場合も、個々の sub_lists の長さが増減し、同時に a、b、c からも回転し続けることに注意してください。
私の場合、「a」を最も優先度が高く、次に「b」、次に「c」(a->b->c)
したがって、最初の反復で処理が行われた後の出力は次のようになります。
$> puts $new_list1
$> {a a a} # as out of 3 sublists a is present in them and it gets highest priority.
同様に、2 回目の反復で処理を行った後の出力は次のようになります。
$> puts $new_list1
$> {c a b a} # as you can see that list1 1st element is c so it gets output as is, second sublist has b c and a so `a` gets outputted, 3rd sublist is b and c so `b` gets outputted
あなたの考えを教えてください。
前もって感謝します !