# Python range explanation with example

### Python range() explanation with example :

In this tutorial, we will learn python range() function and how to use it using examples. Mainly, range() is used in for loops. It can be defined as below :

``````range(stop)
or
range(start, stop[,step])``````

### range(stop) :

range(stop) will create one list from 0 to stop - 1 and returns one iterator for that list. We can use the iterator to traverse through the list. Following example explains how to iterate through a list create using range :

``````for i in range(10):
print(i)``````

It will produce the following result :

``````0
1
2
3
4
5
6
7
8
9``````

But remember , it doesn’t returns one list. Check the below example :

``````my_list = [1,2,3,4,5]
my_range = range(5)

print("Type of my_list : ",type(my_list))
print(my_list)

print("Type of my_range : ",type(my_range))
print(my_range)``````

It will print the following output :

``````Type of my_list :  <class 'list'>
[1, 2, 3, 4, 5]
Type of my_range :  <class 'range'>
range(0, 5)``````

So , the type is range, not list.

### Create a list using range():

We have seen that range() doesn’t create one list. But we can create a list using it like below :

``````my_list = list(range(5))

print("Type of my_list : ",type(my_list))
print(my_list)``````

Output is :

``````Type of my_list :  <class 'list'>
[0, 1, 2, 3, 4]``````

### Traversing a list using python range() :

Since range(n) returns one iterator to iterate from 0 to n-1 . So, if we use range(length(list)) , it will allow us to iterate from 0 to length of the list - 1 . Using this technique, we can iterate all elements of a list as below :

``````my_list = [1,2,3,4,5]

for i in range(len(my_list)):
print(my_list[i])``````

It will give the following output :

``````1
2
3
4
5``````

### Examples of range(start, stop[,step]) in python :

We have seen above how range(stop) works and how to use it to traverse a for loop in python. range(start,stop[,step]) is also similar as above. It returns one iterator and we can use it to iterate through elements of a for-loop.

start means the starting value for the iterator. end means the ending value for the iterator. step is optional, it means step size for the iterator. For range(n), start is 0 and end is n.

### Example of range with start and stop :

``````for i in range(5,10):
print(i)``````

It will print :

``````5
6
7
8
9``````

Here ,start is 5 and end is 10

### Example of range with start, stop and step :

``````for i in range(5,10,2):
print(i)``````

It will print :

``````5
7
9``````

This is same as above . start is 5, end is 10. But, we have added one more parameter 2 which works as step . That’s why one element is skipped each time.

### Iterate a sub list using range :

We can use range(start, end) to iterate through a sub-list of a list from start index to end.

``````my_list = [1,2,3,4,5,6,7,8,9,10]

for i in range(5,10):
print(my_list[i])``````

Output :

``````6
7
8
9
10``````

In the same way, we can iterate through a list with a step between the elements :

``````my_list = [1,2,3,4,5,6,7,8,9,10]

for i in range(3,10,2):
print(my_list[i])``````

It will print :

``````4
6
8
10``````

It is same as above example, only 2 is used as step. So, it prints alternate numbers.