【问题标题】:Looking up values in a map with a vector of integer keys in Clojure在 Clojure 中使用整数键向量在映射中查找值
【发布时间】:2014-02-14 16:27:13
【问题描述】:

我有一张这样的地图:

(def my-map {43423 43.3, 63452 32.02, 823828 67.43, ...})

以及不同顺序的键向量:

(def my-keys [63452 823828 43423 ...])

如何调用 my-map 上的 my-keys 向量来提取值并保持向量的顺序,如下所示?

;=> [32.02 67.43 43.3 ...] 

只要保持顺序,返回的任何数据类型都可以。

【问题讨论】:

    标签: vector map clojure key-value


    【解决方案1】:

    使用map

    (map my-map my-keys)
    ;=> (32.02 67.43 43.3)
    

    这是因为{} 映射通过在自身中查找参数来实现函数接口。

    ({:foo 1 :bar 2} :bar)
    ;=> 2
    

    【讨论】:

      猜你喜欢
      • 2016-07-22
      • 2016-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-25
      • 2011-10-04
      相关资源
      最近更新 更多