如何在Clojure中的列表HashMap中检索键的值



我想检索一个给定键的值,该键是一个列表。

    (defn string-tuple [my-string]
      (partition 2 1 my-string))
    (defn split-and-frequent-tuple [lines]
      (frequencies (string-tuple lines)))
    (defn split-and-frequent [lines]
      (frequencies lines))
(defn string-split [my-string]
  (str/split my-string #" "))

    (def string-pairs (split-and-frequent-tuple (string-split "<s> I am Sam </s> <s> Sam I am </s> <s> I do not like green eggs and ham </s>")))
    ;; Calculate that bigram probability
    (println string-pairs)
    (println (string-pairs '(green eggs)))

基本上,字符串对统计文本中出现类似(绿色鸡蛋)的项目数量的频率。然而,当我尝试使用类似(string-pairs '(green eggs))的东西检索密钥时,我总是会得到nil,即使映射显示该密钥的值为1。

我只是想知道哪里出了问题,我已经试过了:( 的所有东西

感谢您抽出时间

使用println显示值时,字符串和符号看起来是一样的,即使它们不相等。

调试时,请使用明确显示值的prn,或者使用pr-strprintln调用中生成prprn将使用的字符串。

这应该会给您正确的结果(如果向量和列表的内容相等,那么它们在Clojure中是相等的)。

(string-pairs ["green" "eggs"])

最新更新