本文介绍了Clojure-分割向量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果我有两个参数[[1 2] [3 4]]和[5 6],该如何获得[[1 5] [2 6] [3 5] [4 6]]。
我想我可能必须使用
(对于[x [[1 2] [3 4]]]
(对于[xx x]
(对于[y [5 6]] [xx y]))))
但返回((([ 5] [1 6])([2 5] [2 6]))(([[3 5] [3 6])([4 5] [4 6])))
任何帮助将不胜感激。谢谢
解决方案
(mapcat#(地图矢量%[5 6])[[1 2] [3 4]])
或使用 :
(对于[c [[1 2] [3 4]]
p(地图矢量c [5 6])]
p)
If I have two arguments [[1 2] [3 4]] and [5 6], how can I get to [[1 5] [2 6] [3 5] [4 6]].
I thought I may have to use for so I tried,
(for [x [[1 2] [3 4]]] (for [xx x] (for [y [5 6]] [xx y])))
But it returned ((([1 5] [1 6]) ([2 5] [2 6])) (([3 5] [3 6]) ([4 5] [4 6])))
Any help would be much appreciated. Thanks
解决方案
(mapcat #(map vector % [5 6]) [[1 2] [3 4]])
or using for:
(for [c [[1 2] [3 4]] p (map vector c [5 6])] p)
这篇关于Clojure-分割向量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!