入れ子にされたリストを並べ替えるこのコードが見つかりました。入れ子になったリストを並べ替えます
to-report test
let z [[2 3] [1 9] [3 1] ]
report sort-by [(first ?1) < (first ?2)] z
end
この式の最初の1,2番目の2は何ですか。彼らは変数として定義されていないと言います。
入れ子にされたリストを並べ替えるこのコードが見つかりました。入れ子になったリストを並べ替えます
to-report test
let z [[2 3] [1 9] [3 1] ]
report sort-by [(first ?1) < (first ?2)] z
end
この式の最初の1,2番目の2は何ですか。彼らは変数として定義されていないと言います。
おそらくNetLogo v6.0を使用していますか?あなたのコードはv5.3.1で動作しますが、v6.0では匿名の記者が使用されます。
to-report test
let z [[2 3] [1 9] [3 1] ]
report sort-by [[list1 list2] -> first list1 < first list2] z
end
チャールズ
こんにちは、問題はnetlogoのバージョンでした。ありがとうございますが、これは最初の2つの要素だけをソートしますが、ネストされたリスト内のすべてのリストをソートしたいと思います。 – Nety
これはそうです。リストのリスト内のすべてのサブリストをソートします。 「z」のそれぞれの第1の要素によって表される。たとえば、let '[2 3] [1 9] [3 1] [0 100] 'の場合、並べ替えられたリストのリストの先頭に並べ替えが行われます。最初のコードは、サブリストを最初の要素でソートすることを示唆していました。それはあなたが望んだことですか?元のコードで 'list1'と' list2'を '?1'と'?2'と考えてください。 – Charles
あなたは完全なリストをソートするのは間違いありません。私はあまりにも長い間コーディングしていたし、私の脳は最後と最初を処理しなかった。 item id(first/last)を変更すると、ソートが完了した後に要素を変更できます。コードはうまくいきます。ありがとうございました – Nety
同様のソリューションが、再び1と2で使用されています:??それは次のようになりますhttp://stackoverflow.com/questions/31545569/sorting-list-of-lists-by - 内部インデックスのインデックス – Nety