2017-03-13 91 views
3

我有兩個向量,比方說,x=[1;1]y=[2;2]創建兩個向量向量朱莉婭

我要建構其元素的矢量是這兩者的結合,即z=[[1,2],[1,2]]

什麼是最有效的如何做到這一點?

回答

5

只需使用zip。默認情況下,這將創建一個元組向量:

julia> z = collect(zip(x,y)) 
2-element Array{Tuple{Int64,Int64},1}: 
(1,2) 
(1,2) 

請注意,這與您想要的不同,但效率會更高。如果你真的想要一個數組的數組,你可以使用一個理解:

julia> [[a,b] for (a,b) in zip(x,y)] 
2-element Array{Array{Int64,1},1}: 
[1,2] 
[1,2] 
+0

對於遠較快的方法來獲得一個數組的數組,可使用'收集(圖(收集,壓縮(X,Y)))' 。儘管它本身比'zip'更慢,它明顯比理解更快。 (我的測試顯示500x!) –

+0

不典型。您可能會遇到https://github.com/JuliaLang/julia/issues/15276。 – tholy