假设我有一个需要对x和y进行坐标处理的函数。
对于x,我有一个值序列说[1 2 3],对于y,我有另一个值序列说[4 5 6]。
如何获得所有这些组合的 list ?
因此,所需的结果将是这样的:
(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]]
是否有类似这样的现有功能?
最佳答案
数据>(对于[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))