Clojure-分割向量 [英] Clojure - Splitting a vector

查看:47
本文介绍了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-分割向量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆