I want to iterate over a closed range of integers [a, b] in python, ie. iterating from a to b including both a and b.
I know the following way of doing it:
for i in range(a, b+1):
do_something(i)
For iterating in the reverse direction (ie. in the order b, b-1, b-2, ..., a), I do the following:
for i in range(b, a-1, -1):
do_something(i)
I don't like this addition (b+1 in the example) and subtraction (a-1 in the example) to reach the closed end of the range. I find it less readable than the c/c++/Java counterpart (usage of <=
in a loop).
Do you have something in python which can be used to iterate between the closed ranges without manual intervention of the boundaries?
<
or>
in a for loop), you won't have any trouble adjusting to it. Another way to think about it is that range(a,x)+range(x,b) = range(a,b), which wouldn't be the case if it was inclusive with respect to the end parameter. – Notificationrange()
function modifying these to achieve this. – Ruffina