# Iteration reverse in for loop

**URL:** <https://discourse.julialang.org/t/iteration-reverse-in-for-loop/44551>\
**Category:** New to Julia\
**Created:** [August 8, 2020, 7:14am UTC](https://discourse.julialang.org/t/iteration-reverse-in-for-loop/44551 "2020-08-08T07:14:39Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Fuad\_Sami](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fuad_sami/32/16900_2.png) [@Fuad\_Sami](https://discourse.julialang.org/u/Fuad_Sami)\
**Post date:** [August 8, 2020, 7:14am UTC](https://discourse.julialang.org/t/iteration-reverse-in-for-loop/44551/1 "2020-08-08T07:14:39Z")

</div>

hi all  
in python if i want to track reverse through the for loop i write this

```julia
for i in range(len(digits)-1,-1,-1):

```

there is some thing similar in julia ?

---

<div class="post-metadata">

**Author:** ![lostella](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lostella/32/356_2.png) [@lostella](https://discourse.julialang.org/u/lostella)\
**Post date:** [August 8, 2020, 7:27am UTC](https://discourse.julialang.org/t/iteration-reverse-in-for-loop/44551/2 "2020-08-08T07:27:32Z")

</div>

You can use

```julia
for i in 10:-1:1

```

Note that the range includes the bounds

---

<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:** [August 8, 2020, 3:39pm UTC](https://discourse.julialang.org/t/iteration-reverse-in-for-loop/44551/3 "2020-08-08T15:39:21Z")

</div>

`reverse(1:10)` is also sometimes nice!

---

<div class="post-metadata">

**Author:** ![lostella](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lostella/32/356_2.png) [@lostella](https://discourse.julialang.org/u/lostella)\
**Post date:** [August 8, 2020, 3:56pm UTC](https://discourse.julialang.org/t/iteration-reverse-in-for-loop/44551/4 "2020-08-08T15:56:40Z")

</div>

True! It’s somewhat more idiomatic, too.

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [August 8, 2020, 6:22pm UTC](https://discourse.julialang.org/t/iteration-reverse-in-for-loop/44551/5 "2020-08-08T18:22:38Z")

</div>

> [@Fuad\_Sami](#):
>
> `for i in range(len(digits)-1,-1,-1):`

I would use

```julia
for i in reverse(eachindex(digits))

```

---

<div class="post-metadata">

**Author:** ![lungben](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lungben/32/12314_2.png) [@lungben](https://discourse.julialang.org/u/lungben)\
**Post date:** [August 8, 2020, 6:42pm UTC](https://discourse.julialang.org/t/iteration-reverse-in-for-loop/44551/6 "2020-08-08T18:42:26Z")

</div>

```julia
Iterators.reverse(itr)

```

is in general more memory-efficient because it is lazy and does not create a new array of the iterator.  
However, for only 10 numbers this is not really significant 😉

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [August 8, 2020, 7:00pm UTC](https://discourse.julialang.org/t/iteration-reverse-in-for-loop/44551/7 "2020-08-08T19:00:11Z")

</div>

For ranges, such as `1:10` and `eachindex` there are no allocations with `Base.reverse` either.
