2013-03-27 48 views
0

我正在嘗試獲取列表模式的值。我知道我可以通過使用模式運算符的方式來獲得列表的模式,例如「show modes [1 2 2 2 2 3 4]」,它將報告2作爲模式,但是如何獲得該計數模式,在這種情況下4,因爲他們是4 2。我想我可以得到的模式,並遍歷列表檢查,看看每個數字是否相等的模式,但我只是想知道是否有一個更簡單的方法。獲取列表模式的計數

在此先感謝!

回答

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 

(當然,根據定義,每個模式將具有相同數量的發生)

+0

它使用Netlogo字典進行了一些破譯,但我想通了,第四行主要是我在找的東西。再次感謝您的幫助Nicolas! – johns4ta 2013-03-29 15:25:58