将list [value]转换为map [value,int countOccurences]

时间:2014-11-30 16:10:59

标签: rascal

是否有一种优雅的方法来计算重复项并将结果写入地图。

我知道如何使用传统的循环等来做到这一点,但我只是非常好奇:有没有一种很好的方式(例如oneliner)使用例如理解,减少或更传统的Rascal API。

所以,例如转换:

list[loc] 

map[loc location,int nrOfOccurrencesInListOfThisLocationKey]

TX,

2 个答案:

答案 0 :(得分:3)

您正在寻找distribution功能

map[&T element, int occurs] distribution(list[&T] lst)
<{1>}库中的

答案 1 :(得分:1)

link解释了这一切。我想,只是在示例中将元组放在元组的第一位而不是整数中,而在第二位是你的出现次数?希望它有效。