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