【问题标题】:Combining LazySeqs into one collection of maps将 LazySeqs 组合成一个映射集合
【发布时间】:2012-12-30 12:34:26
【问题描述】:

我正在尝试将几个 LazySeq 组合成一个地图集合。

("a" "b" "c" ...)
("x" "y" "z" ...)

进入

({:key1 "a" :key2 "x"} {:key1 "b" :key2 "y"} ...)

保证 LazySeq 的长度相同。这样做的实用方法是什么?

【问题讨论】:

    标签: clojure lazy-sequences


    【解决方案1】:

    map 可以处理多个 seq,每次接受一个参数:

    (def a ["a" "b" "c"])
    (def b ["x" "y" "z"])
    
    (map (fn [x y] {:key1 x :key2 y}) a b)  ; a and b could be lazy...
    ;=> ({:key1 "a", :key2 "x"} {:key1 "b", :key2 "y"} {:key1 "c", :key2 "z"})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      • 2021-08-05
      • 1970-01-01
      相关资源
      最近更新 更多