获取列表模式的计数

时间:2013-03-27 14:08:22

标签: simulation netlogo

我正在尝试获取列表模式的值。我知道我可以通过使用模式运算符来获取列表模式,例如“show modes [1 2 2 2 2 3 4]”这将报告2作为模式,但我如何得到计数模式,在这种情况下为4,因为它们是4 2。我想我可以获得模式并遍历列表检查以查看每个数字是否与模式相等,但我只是想知道是否有更简单的方法。

提前致谢!

1 个答案:

答案 0 :(得分:2)

lengthfilter的组合可以满足您的需求:

let xs [1 2 2 3 3 4]
foreach modes xs [
  let mode ?
  let n length filter [ ? = mode ] xs
  print (word "mode: " mode ", occurrences: " n)
]

将输出:

mode: 2, occurrences: 2
mode: 3, occurrences: 2

(当然,根据定义,每种模式的出现次数都相同。)