如果我想创建1行5列的2D数组。 我可以做到
julia> a = [1 2 3 4 5]
1×5 Array{Int64,2}:
1 2 3 4 5
但是要创建5行1列的2D数组。我尝试过
julia> b = [1; 2; 3; 4; 5]
5-element Array{Int64,1}:
1
2
3
4
5
但是我得到了一个不是我想要的一维数组
使其正常工作的唯一方法是
julia> b=reshape([1 2 3 4 5],5,1)
5×1 Array{Int64,2}:
1
2
3
4
5
也许我在这里错过了一些关键信息。
答案 0 :(得分:0)
您也可以执行a = [1 2 3 4 5]'
。
顺便说一句,对于Julia版本> 0.6,a
的类型不是Array{Int64, 2}
,但是在这种情况下,LinearAlgebra.Adjoint{Int64,Array{Int64,2}}
作为共轭转置是懒惰的。通过a = copy([1 2 3 4 5]')
可以得到<= 0.6的行为。
答案 1 :(得分:0)
AFAIK没有语法糖。
我通常写:
hcat([1, 2, 3, 4, 5])
这很短,我很容易记住。
如果您使用reshape
,则可以用:
替换一维,这意味着您不必计数(这很有用,例如,当您获得输入向量作为变量时):
reshape([1 2 3 4 5], :, 1)
最后,您可以使用:
permutedims([1 2 3 4 5])