【问题标题】:Clojure: How do I get a list of combinations of 'coordinates'?Clojure:如何获得“坐标”组合的列表?
【发布时间】:2009-10-29 21:04:49
【问题描述】:

假设我有一个函数可以获取坐标 x 和 y。

对于 x,我有一个值序列,例如 [1 2 3],对于 y,我有另一个值序列,例如 [4 5 6]。

如何获得包含所有这些组合的列表?

所以想要的结果应该是这样的:

(myfn [1 2 3] [4 5 6]) => [[1 4] [1 5] [1 6] [2 4] [2 5] [2 6] [3 4] [3 5] [3 6]]

是否有这样的功能?

【问题讨论】:

    标签: clojure


    【解决方案1】:
    data> (for [x [1 2 3] y [4 5 6]] (向量 x y))
    ([1 4] [1 5] [1 6] [2 4] [2 5] [2 6] [3 4] [3 5] [3 6])
    
    ...或者...
    
    用户>(使用'clojure.contrib.combinatorics)
    零
    用户>(笛卡尔积 [1 2 3] [4 5 6])
    ((1 4) (1 5) (1 6) (2 4) (2 5) (2 6) (3 4) (3 5) (3 6))

    【讨论】:

    • 对于未来的访问者:现在是clojure.math.combinatorics
    猜你喜欢
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 2012-07-22
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 2018-09-14
    相关资源
    最近更新 更多