向量的朱莉娅转置向量

Met*_*lon 4 transpose multidimensional-array julia

我有一个向量的向量,比如说

\n
julia> m=[[1,2],[3,4],[5,6]]\n3-element Vector{Vector{Int64}}:\n [1, 2]\n [3, 4]\n [5, 6]\n
Run Code Online (Sandbox Code Playgroud)\n

我想要转置它,这意味着我想要一个 2 元素向量和相应的 3 元素向量(1,3,5 和 2,4,6)。

\n

这显然可以通过循环来完成,但我怀疑这很慢,并且确信 Julia 有更好的解决方案。到目前为止我能想到的最好的一个看起来像这样:

\n
julia> matrixM=reshape(collect(Iterators.flatten(m)), (size(m[1],1),size(m,1)))\n2\xc3\x973 Matrix{Int64}:\n 1  3  5\n 2  4  6\n\njulia> map(i->matrixM[i,:], 1:size(matrixM,1))\n2-element Vector{Vector{Int64}}:\n [1, 3, 5]\n [2, 4, 6]\n
Run Code Online (Sandbox Code Playgroud)\n

Bog*_*ski 6

您可以使用:

julia> using SplitApplyCombine

julia> invert([[1,2],[3,4],[5,6]])
2-element Vector{Vector{Int64}}:
 [1, 3, 5]
 [2, 4, 6]
Run Code Online (Sandbox Code Playgroud)