我有describe
这个词,我想知道每个字母出现多少次。例如" e"出现两次," d"出现一次等
我试过了
(for [letter (map str (seq describe))]
(count (re-seq letter describe)))
但是我收到了错误
ClassCastException java.lang.String cannot be cast to java.util.regex.Pattern clojure.core/re-matcher (core.clj:4667)
非常感谢任何帮助
答案 0 :(得分:9)
您可以使用frequencies
计算每个字符在字符串中出现的频率,返回如下地图:
(frequencies "ababacdefg")
=> {\a 3, \b 2, \c 1, \d 1, \e 1, \f 1, \g 1}
这是有效的,因为字符串被视为一系列字符。 frequencies
可用于一般集合:
(frequencies [1 1 2 3])
=> {1 2, 2 1, 3 1}
键是计算的值,值是频率。