# Dynamic indexing

**URL:** <https://discourse.julialang.org/t/dynamic-indexing/57135>\
**Category:** New to Julia\
**Tags:** indexing\
**Created:** [March 14, 2021, 4:38pm UTC](https://discourse.julialang.org/t/dynamic-indexing/57135 "2021-03-14T16:38:47Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Suresh\_Jeevanandam](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/suresh_jeevanandam/32/22266_2.png) [@Suresh\_Jeevanandam](https://discourse.julialang.org/u/Suresh_Jeevanandam)\
**Post date:** [March 14, 2021, 4:38pm UTC](https://discourse.julialang.org/t/dynamic-indexing/57135/1 "2021-03-14T16:38:47Z")

</div>

Given a multi dimensional array A with N dimensions, I want to programmatically index so that : is used for all dimensions but for the k’th dimension it is fixed to a specific value v. Eg for N=4 and k=2 and v=1;

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

```

I want to do this selection programmatically. Is it possible?

---

<div class="post-metadata">

**Author:** ![kernelmethod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kernelmethod/32/35480_2.png) [@kernelmethod](https://discourse.julialang.org/u/kernelmethod)\
**Post date:** [March 14, 2021, 5:48pm UTC](https://discourse.julialang.org/t/dynamic-indexing/57135/2 "2021-03-14T17:48:00Z")

</div>

Sure! There’s probably a few different ways of doing this, but here’s one method you could use:

```julia
function slicedim(A, k, v)
    prev_indices = ((:) for _ = 1:k-1)
    next_indices = ((:) for _ = k+1:ndims(A))
    getindex(A, prev_indices..., v, next_indices...)
end

```

Usage:

```julia
julia> A = rand(10, 10, 10, 10);

julia> # Get the elements of A whose index == 1 in the 3rd dimension

julia> slicedim(A, 3, 1) == A[:,:,1,:]
true

```

---

<div class="post-metadata">

**Author:** ![AndiMD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/andimd/32/6531_2.png) [@AndiMD](https://discourse.julialang.org/u/AndiMD)\
**Post date:** [March 14, 2021, 5:51pm UTC](https://discourse.julialang.org/t/dynamic-indexing/57135/4 "2021-03-14T17:51:08Z")

</div>

there is also `selectdim(A,3,1)`
