我正在努力增进对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,即该组中质量最高的。
谢谢您的帮助。
答案 0 :(得分:1)
我正在阅读https://ccl.northwestern.edu/netlogo/docs/rnd.html
rnd:weighted-one-of-list mylist [ [ii] -> ii ]
以扩展名选择商品是否正确?
是的,根据文档,这是正确的用法。