在不修改两个Julia数组的情况下连接它们。

6

我想要将两个数组连接起来。

julia> l1=["a","b"]
2-element Array{ASCIIString,1}:
 "a"
 "b"

julia> l2=["c","d"]
2-element Array{ASCIIString,1}:
 "c"
 "d"

append!可以实现这个功能,但是这个函数会修改l1(这是一个以!结尾的函数名)。

julia> append!(l1, l2)
4-element Array{ASCIIString,1}:
 "a"
 "b"
 "c"
 "d"

julia> l1
4-element Array{ASCIIString,1}:
 "a"
 "b"
 "c"
 "d"

我正在寻找一个没有感叹号的append函数。

但是貌似这样的函数并不存在。

有什么想法吗?

2个回答

13

除了 @oleeinar 的回答外,你还可以使用 hcatvcat 来连接数组:

l3 = vcat(l1, l2)
4-element Array{ASCIIString,1}:
 "a"
 "b"
 "c"
 "d"

您还可以使用hcat进行水平连接:

l4 = hcat(l1, l2)
2x2 Array{ASCIIString,2}:
 "a"  "c"
 "b"  "d"

9

您可以通过“join”方法将数组合并起来。

l3 = [l1; l2]

这个语法实际上是在“幕后”调用了vcat。 - David P. Sanders
两者运行速度相同。但是,cat( , dims=1)语句,即语义上的vcat,运行速度要慢得多。 - Lewis Levin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接