[英]Netlogo: Search in a list of turtles
假設我有一個烏龜列表,列表中的每個烏龜都有一個自己的數字變量foo。 如何在不迭代整個列表的情況下優雅地提取foo中存儲的最低值的烏龜?
先感謝您!
埃里克。
如果要讓列表中的烏龜具有foo
的最小值,則可以按每只烏龜的foo
值對烏龜列表進行排序,然后從列表中選擇第一只烏龜。 對於NetLogo v6.0來說(假設foo
是烏龜擁有的變量,而turtle-list
是您的烏龜列表):
first sort-by[[t1 t2] -> [foo] of t1 < [foo] of t2] turtle-list
查爾斯
它取決於上下文(列表的結構,擁有者,構建方式和頻率),但總的來說,我會將列表保存在其自己的全局/龜擁有的變量中,然后使用原始的'最小一”來查詢。 如果您舉一個可復制的示例,我可以幫助您將其應用於代碼,但是有些影響
globals [foo-list]
;make foo-list;
let small_foo min-one-of [foo-list]
show small_foo
當您說有一個“烏龜列表”時,您實際上是指數據類型列表,還是真的有一個代理集(這是一組烏龜的NetLogo構造)? 如果您有一個代理集,請使用-min查看字典中的原始with-min
。 您將需要一些結構,如let small_foo agentsetname with-min [foo]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.