# Array{Float64,2} -\> Array{Float64,1}

**URL:** <https://discourse.julialang.org/t/array-float64-2-array-float64-1/45979>\
**Category:** General Usage\
**Tags:** indexing, array\
**Created:** [September 2, 2020, 10:48pm UTC](https://discourse.julialang.org/t/array-float64-2-array-float64-1/45979 "2020-09-02T22:48:11Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jhall7529](https://avatars.discourse-cdn.com/v4/letter/j/839c29/32.png) [@Jhall7529](https://discourse.julialang.org/u/Jhall7529)\
**Post date:** [September 2, 2020, 10:48pm UTC](https://discourse.julialang.org/t/array-float64-2-array-float64-1/45979/1 "2020-09-02T22:48:11Z")

</div>

When indexing an Array{Float64,2}

julia\> A = ones(1,5)  
1×5 Array{Float64,2}:  
1.0 1.0 1.0 1.0 1.0

julia\> A[1,2:5]  
4-element Array{Float64,1}:  
1.0  
1.0  
1.0  
1.0

Why am I being given an Array{Float64,1}?

I’m expecting to get:

1×4 Array{Float64,2}:  
1.0 1.0 1.0 1.0

---

<div class="post-metadata">

**Author:** ![tomerarnon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tomerarnon/32/3170_2.png) [@tomerarnon](https://discourse.julialang.org/u/tomerarnon)\
**Post date:** [September 2, 2020, 10:54pm UTC](https://discourse.julialang.org/t/array-float64-2-array-float64-1/45979/2 "2020-09-02T22:54:48Z")

</div>

A slice of a matrix is a vector, so has size `(n,)`. If you want a `1xn` matrix back, you can use `A[[1], 2:5]`, or if you just want it to be a row vector, you can do `A[1, 2:5]'`

---

<div class="post-metadata">

**Author:** ![Henrique\_Becker](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/henrique_becker/32/15443_2.png) [@Henrique\_Becker](https://discourse.julialang.org/u/Henrique_Becker)\
**Post date:** [September 2, 2020, 11:09pm UTC](https://discourse.julialang.org/t/array-float64-2-array-float64-1/45979/3 "2020-09-02T23:09:31Z")

</div>

Related to [this topic of mine](https://discourse.julialang.org/t/eachrow-over-array-any-2-does-not-return-rows-why/34601).

---

<div class="post-metadata">

**Author:** ![cchderrick](https://avatars.discourse-cdn.com/v4/letter/c/ecd19e/32.png) [@cchderrick](https://discourse.julialang.org/u/cchderrick)\
**Post date:** [September 3, 2020, 12:32am UTC](https://discourse.julialang.org/t/array-float64-2-array-float64-1/45979/4 "2020-09-03T00:32:08Z")

</div>

Depending on your preference, you can also use range indexing.

```julia
A[1:1, 2: 5]

```

I prefer this, because it’s consistent to that `2:5` syntax.

---

<div class="post-metadata">

**Author:** ![Jhall7529](https://avatars.discourse-cdn.com/v4/letter/j/839c29/32.png) [@Jhall7529](https://discourse.julialang.org/u/Jhall7529)\
**Post date:** [September 3, 2020, 12:53am UTC](https://discourse.julialang.org/t/array-float64-2-array-float64-1/45979/5 "2020-09-03T00:53:39Z")

</div>

Thanks for replying so quickly!  
Seems so obvious now I know, thank you

---

<div class="post-metadata">

**Author:** ![tim.holy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tim.holy/32/52_2.png) [@tim.holy](https://discourse.julialang.org/u/tim.holy)\
**Post date:** [September 4, 2020, 12:48pm UTC](https://discourse.julialang.org/t/array-float64-2-array-float64-1/45979/6 "2020-09-04T12:48:41Z")

</div>

Simple rule: the dimensionality of the output is the summed dimensionality of the indexes. So `A[i,j]`, where `i` and `j` are `Int`s, gives you a scalar (zero-dimensional). You supplied one scalar and one vector, so you got a 1-dimensional output.

The fun doesn’t stop there. Here’s an example that some other languages would struggle with:

```julia
julia> v = [10, 20, 30, 40, 50]
5-element Vector{Int64}:
 10
 20
 30
 40
 50

julia> idx = [1 2;
              5 2]
2×2 Matrix{Int64}:
 1 2
 5 2

julia> v[idx]
2×2 Matrix{Int64}:
 10 20
 50 20

```
