0

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

提前致谢!

4

1 回答 1

2

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

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

于 2013-03-27T16:28:37.450 回答