Introduction
Today in this tutorial, we are going to discuss the Python range() method.
The range()
method is widely used in Python in for loops for traversing or iterating through any sequence.
The Python range() Method
Rather than being a function, the range()
is actually an immutable sequence type. It returns a sequence of numbers of type range.
The syntax for using the Python range()
function is given below.
range(start, stop[, step])
Here,
- start(optional) is the starting number from which the sequence generation would start. It is included in the sequence and if not mentioned is by default set to 0,
- stop is the number before which the sequence generation would stop(exclusive),
- step(optional) is the step jump the function would to take while sequence generation. If not provided, it is by default considered 1.
Using range() Method in Python
Now let us look at the various ways we can actually use the Python range()
method.
1. With one parameter
The two parameters, step
and start
are optional and are by default set to 1 and 0 respectively. But for a sequence generation, the stop parameter is mandatory.
When only stop is mentioned, the range()
function creates a sequence ranging from 0 to (stop-1) with step 1. Look at the example below.
#range() with one parameter
print("Type of object returned by range: ", type(range(5)))
list1 = list(range(5))
print("sequence generated by range() with 1 parameter: ", list1)
Output:
Type of object returned by range: <class 'range'>
sequence generated by range() with 1 parameter: [0, 1, 2, 3, 4]
As we can see, the type of sequence generated by the method is a member of the class range
. Type-casting the range()
output gives us a list containing the values 0 to 4(5-1) with step 1, as desired.
2. With two parameters
Similarly, we can use the range()
method with two parameters. In this case, the step parameter is set to 1 by default.
The example explains it easily.
#range() with two parameter
list1 = list(range(3,7))
print("sequence generated by range() with 2 parameter: ", list1)
Output:
sequence generated by range() with 2 parameter: [3, 4, 5, 6]
It is clear from the output that step
is set to 0.
3. With three parameters
When all the parameters are mentioned, the range()
function generates a sequence ranging from start to stop-1. The value of each element after the start value is calculated as the sum of the previous element and the step.
The example below illustrates this fact very well.
#range() with three parameter
list1 = list(range(3,20,3))
print("sequence generated by range() with 3 parameter: ", list1)
Output:
sequence generated by range() with 3 parameter: [3, 6, 9, 12, 15, 18]
From the output, it is clear that the sequence is generated with values in range 3 to 19(20-1). For the last element, just because 18+3=21 exceeds the stop(20) the sequence generation is terminated at 18.
Using range() Method with for loop in Python
As we mentioned earlier, range()
is widely used in for
loop structures. Let us look at an easy example.
#range() with for loop
for i in range(1,5):
for j in range(1,i+1):
print(j , end="")
print()
Output:
1
12
123
1234
In the above code, we try to print a pattern with each row having the numbers from the sequence returned by the range(1,i+1)
method in the inner loop. For the last iteration of the outer loop(i=4) the inner loop iterates for values of j from 1 to (4+1)-1 =4.
Hence, the output is justified.
Conclusion
So in this tutorial, we understood the concept of the range()
method in Python. For any further questions, feel free to use the comments below.
References
- range() – Python Documentation,
- Python range() – Journal Dev Post,
- Why does range(start, end) not include end? – Stack Overflow Question.