Si les deux tableaux Int
le sont, a = [1;2;3]
et b = [4;5;6]
, comment concaténer les deux tableaux dans les deux dimensions? Les résultats attendus sont,
Julia> out1
6-element Array{Int64,1}:
1
2
3
4
5
6
Julia> out2
3x2 Array{Int64,2}:
1 4
2 5
3 6
Utilisez les fonctions vcat
et hcat
:
Julia> a, b = [1;2;3], [4;5;6]
([1,2,3],[4,5,6])
help?> vcat
Base.vcat(A...)
Concatenate along dimension 1
Julia> vcat(a, b)
6-element Array{Int64,1}:
1
2
3
4
5
6
help?> hcat
Base.hcat(A...)
Concatenate along dimension 2
Julia> hcat(a, b)
3x2 Array{Int64,2}:
1 4
2 5
3 6
Les crochets peuvent être utilisés pour la concaténation:
Julia> a, b = [1;2;3], [4;5;6]
([1,2,3],[4,5,6])
Julia> [a; b]
6-element Array{Int64,1}:
1
2
3
4
5
6
Julia> [a b]
3×2 Array{Int64,2}:
1 4
2 5
3 6
Vous pouvez utiliser la fonction cat
pour concaténer n'importe quel nombre de tableaux le long de n'importe quelle dimension. La première entrée est la dimension sur laquelle effectuer la concaténation; les entrées restantes sont toutes les matrices que vous souhaitez concaténer ensemble
a = [1;2;3]
b = [4;5;6]
## Concatenate 2 arrays along the first dimension
cat(1,a,b)
6-element Array{Int64,1}:
1
2
3
4
5
6
## Concatenate 2 arrays along the second dimension
cat(2,a,b)
3x2 Array{Int64,2}:
1 4
2 5
3 6
## Concatenate 2 arrays along the third dimension
cat(3,a,b)
3x1x2 Array{Int64,3}:
[:, :, 1] =
1
2
3
[:, :, 2] =
4
5
6
lorsqu'il rencontre Array {Array, 1}, la grammaire est un peu différente, comme ceci:
Julia> a=[[1,2],[3,4]]
2-element Array{Array{Int64,1},1}:
[1, 2]
[3, 4]
Julia> vcat(a)
2-element Array{Array{Int64,1},1}:
[1, 2]
[3, 4]
Julia> hcat(a)
2×1 Array{Array{Int64,1},2}:
[1, 2]
[3, 4]
Julia> vcat(a...)
4-element Array{Int64,1}:
1
2
3
4
Julia> hcat(a...)
2×2 Array{Int64,2}:
1 3
2 4
réf:
... combine de nombreux arguments en un seul argument dans les définitions de fonctions Dans le contexte des définitions de fonctions, l'opérateur ... est utilisé pour combiner de nombreux arguments différents en un seul argument. Cette utilisation de ... pour combiner de nombreux arguments différents en un seul argument est appelée slurping