Let's say I have the following list:
a = [1, 2, 3, 4, 5]
Instead of stepping through the list from 1 to 5
for i in 1:length(a)
I would like to step through it from 5 to 1. Is there a convenient way to do this in Julia?
There are many options.
Do you want to iterate a in reverse or indices into a?
First assume you wan to iterate a, then Iterators.reverse(a) is an efficient way to do it.
If you want to iterate indices of a then an efficient option is reverse(eachindex(a)). You could also write Iterators.reverse(eachindex(a)) but this time it is enough to use standard reverse function (I have not recommended it for reversing a as it would allocate a new vector).
Note that in your case it would be also correct to write length(a):-1:1, but this is not a recommended pattern in general, as you cannot be sure what pattern of indexing your a object supports (in your case it is a vector using 1-based indexing, but it could be an object that uses a different indexing style).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With