【发布时间】:2013-03-27 14:08:21
【问题描述】:
我正在尝试获取列表模式的值。我知道我可以通过使用模式运算符以某种方式获取列表的模式,例如“显示模式 [1 2 2 2 2 3 4]”,它将报告 2 作为模式,但我将如何获得该计数模式,在这种情况下为 4,因为它们是 4 个 2。我想我可以获取模式并遍历列表检查每个数字是否等于模式,但我只是想知道是否有更简单的方法。
提前致谢!
【问题讨论】:
标签: simulation netlogo
我正在尝试获取列表模式的值。我知道我可以通过使用模式运算符以某种方式获取列表的模式,例如“显示模式 [1 2 2 2 2 3 4]”,它将报告 2 作为模式,但我将如何获得该计数模式,在这种情况下为 4,因为它们是 4 个 2。我想我可以获取模式并遍历列表检查每个数字是否等于模式,但我只是想知道是否有更简单的方法。
提前致谢!
【问题讨论】:
标签: simulation netlogo
length 和 filter 的组合应该可以满足您的需求:
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
(当然,根据定义,每种模式都会出现相同的次数。)
【讨论】: