gpt4 book ai didi

Clojure:来自不同大小的列表的更惯用的元素配对?

转载 作者:行者123 更新时间:2023-12-02 15:05:10 24 4
gpt4 key购买 nike

我想创建一个由 colspatch 组成的列表。 cols 会有更多的元素。 patch 中的元素将在配对中重复。

例如,

(element-wise-patch '(1 3 5 7 9) '(2 4) '())
([1 2] [3 4] [5 2] [7 4] [9 2])

这是我实现语义的尝试。我希望学习更惯用、更简单的解决方案。

(defn element-wise-patch [cols patch patched]
(if (<= (count cols) (count patch))
(concat patched (map vector cols patch))
(let [[compatible remaining] (split-at (count patch) cols)]
(element-wise-patch remaining patch (concat patched (map vector compatible patch)))))

我觉得可能已经存在可以进行此类修补配对的构造。另外,我的描述可能不足以关联类似的解决方案。

请给我一些指示,或者帮助我更清楚地定义我的问题。

预先感谢您的帮助!

最佳答案

很简单:

(map vector [1 3 5 7 9] (cycle [2 4]))

关于Clojure:来自不同大小的列表的更惯用的元素配对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40781869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com