2017-05-25 20 views
0

リストのリスト(内部にcoordsリスト付き)があり、内側のリストの内容をフィルタリングしたい場合は、結果と一致する場合は削除したいと思います。私はリストの中で反復するのに苦労しています。Netlogo foreach with ifステートメント

DATA:

[[14.142135623730951 [-2 -16] "15"] [13.601470508735444 [-4 -17] "15"] [21.93171219946131 [-4 -17] "16"] [27.294688127912362 [-4 -17] "14"] [15.524174696260024 [-4 -17] "13"]] 

私の試み:item ?は、foreachループとアイテム1の現在の反復がその配列の2番目の要素であるべきであるべきである

set coords [-4 -17] 
    foreach[distanceQueue] 
    [ 
    if(item ? item 1 distanceQueue = coords)[set distanceQueue remove-item ? distanceQueue] 

    ] 

誰でもこの仕事をするのを助けることができますか?

答えて

2

あなたはfilterを求めているようです。例:

to-report test 
    let lst [ 
    [14.142135623730951 [-2 -16] "15"] 
    [13.601470508735444 [-4 -17] "15"] 
    [21.93171219946131 [-4 -17] "16"] 
    [27.294688127912362 [-4 -17] "14"] 
    [15.524174696260024 [-4 -17] "13"] 
    ] 
    let coords [-4 -17] 
    report filter [[?] -> coords != item 1 ?] lst 
end 
関連する問題