从列表中挑选元素

时间:2019-10-08 23:56:27

标签: netlogo

我正在努力增进对NetLogo中列表的了解。 不久,我要从列表中添加和选择(和删除)项目。每只乌龟都有自己的清单。 每个列表应按时间顺序排列,从最新到最早。乌龟选择一个项目后,邻居会将其放在其列表的顶部(与选择该项目的乌龟相同)。我想做的是:

rnd:weighted-one-of-list mylist [ [ii] -> ii ] ; pick one of the most recent items already in the list
set mylist lput old_item mylist print "Old item" ; add items to the list

按照上一篇文章中JenB的建议使用扩展名。 使用条件从列表中选择项目(旧项目)的条件是mylist不为空(if empty? mylist)。
我的问题是,像我一样,使用扩展名选择项目是否正确。

更新:该列表通过以下方式组成: 我决定用item 4创建一个新项目quality 2(质量是[0,5]中的一个参数)。 我将此商品添加到列表(item 4, item3, item2, item1)中-从最新到最早-质量分别为item4 2, item3 1, item2 2, item1 5,并添加到邻居的列表中:例如,neighbour1将具有列表{ {1}}和(item4, item 11, item 10,..)。 我希望根据质量参数从列表中选择一个项目。这意味着我将从我的列表中选择quality 2, 3, 1。我的邻居会选择item1,因为它的质量等于3,即该组中质量最高的。

谢谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我正在阅读https://ccl.northwestern.edu/netlogo/docs/rnd.html

rnd:weighted-one-of-list mylist [ [ii] -> ii ]

以扩展名选择商品是否正确?

是的,根据文档,这是正确的用法。