Netlogo:删除列表内容

Netlogo: delete list content

如何在 Netlogo 中删除列表的内容?

这是我的代码的精简版本,用作示例:

to calculate_SN
  ask turtles [
    set subjective_norm_list []
    set subjective_norm_list [1 2 3 4 5]
    set subjective_norm ( sum subjective_norm_list / length subjective_norm_list)
    *delete content of subjective_norm_list so that it is empty again*
end

星号之间的部分我不知道。

如果你想让subjective_norm_list成为一个空列表,你可以将它设置为一个空列表,就像你第一次初始化它时所做的那样:

set subjective_norm_list []

请注意,从技术上讲,NetLogo 列表是 immutable,因此您不会删除 列表中的元素:您只是创建一个新列表其中没有元素并将其分配给同一个变量。但就所有意图和目的而言,它是相同的:subjective_norm_list 再次为空。

根据您目前共享的代码,您应该采取不同的方法:创建一个函数。

to-report subjective-norm [#lst]
  report (sum #lst) / (length #lst)
end

不清楚您是否需要为您的列表分配一个变量名。您可以在创建时使用它,然后忘记它。 (它将被垃圾收集。)