假设我有一个海龟列表,这个列表中的每个海龟都有一个自己的数字变量foo。如何在不迭代整个列表的情况下优雅地提取存储在foo中的最低值的乌龟?
提前谢谢!
埃里克。
答案 0 :(得分:2)
如果您希望列表中的乌龟具有最低值foo
,那么您可以按每个乌龟的foo
值对海龟列表进行排序,然后选择第一只乌龟。名单。对于NetLogo v6.0来说(假设foo
是一个龟自己的变量而turtle-list
是你的海龟列表):
first sort-by[[t1 t2] -> [foo] of t1 < [foo] of t2] turtle-list
查尔斯
答案 1 :(得分:0)
它取决于上下文(列表是如何构建的,谁拥有它,它是如何构建的以及频率如何),但总的来说我将列表保存在它自己的全局/中龟拥有的变量然后使用原始&#39; min-one-of&#39;查询它。如果你给出了一个可重复的例子,我可以帮助你将它应用于代码,但是可以使用
globals [foo-list]
;make foo-list;
let small_foo min-one-of [foo-list]
show small_foo
答案 2 :(得分:0)
当你说你有一个&#39;列表&#39;海龟,你真的是指数据类型列表,还是你真的有一个agentset(这是一组海龟更常见的NetLogo构造)?如果您有代理集,请查看原始let small_foo agentsetname with-min [foo]
的字典。你会想要一些像{{1}}