Dictionary 如何返回地图中的所有关键字
我想返回地图中出现的所有关键字。例如:Dictionary 如何返回地图中的所有关键字,dictionary,clojure,Dictionary,Clojure,我想返回地图中出现的所有关键字。例如: {:a 1 :d 4 :e 4} 我想得到(:a:d:e)。我的代码是 (get {:a 1 :d 4 :e 4} :keywords) 它返回零。那么如何修复它呢 我猜您想从地图上获取所有的键。您可以使用以下方法完成此操作: (keys {:a 1, :d 4, :e 4} ;; => (:a :d :e) 如果要在地图中显示为关键字时获取所有关键字,则需要筛选仅匹配关键字?谓词: (filter keyword? (keys {:a 1,
{:a 1 :d 4 :e 4}
我想得到(:a:d:e)。我的代码是
(get {:a 1 :d 4 :e 4} :keywords)
它返回零。那么如何修复它呢 我猜您想从地图上获取所有的
键。您可以使用以下方法完成此操作:
(keys {:a 1, :d 4, :e 4}
;; => (:a :d :e)
如果要在地图中显示为关键字时获取所有关键字,则需要筛选仅匹配关键字?
谓词:
(filter keyword? (keys {:a 1, 'd 4, :e 4, "f" 5}))
;; => (:a :e)
类似地,对于地图值中的关键字:
(filter keyword? (vals {:a :b, "c" :d, 4 "e", 5 'f}))
;; => (:b :d)
如果你的地图是{:a:b,:d4,5:e,7[8:f:g]}
,你想要什么输出?从地图中请求关键字几乎没有意义。映射的键可以是任何值-数字、字符串、任何类型的集合。通常选择关键字是因为它们是易于查找的文字。您甚至可以将函数作为键,尽管这很少有用,因为函数只有在相同时才相等。