Python Range Function

Python Range Function thumbnail
2K
By Dhiraj 16 March, 2019

Range in Python is a collection that represents an arithmetic progression of integers. In this tutorial, we will learn about range() in detail and take a look into different use cases of this function with examples.

Range Construction

The range type represents an immutable sequence of numbers and is commonly used for looping a specific number of times in for loops. Range is created by calling range() constructor and there is no literal form. Mostly, range is used to create integers for loop counters. Below are the different constructors that can be used to create Range object.

Constructor Arguments Result
range(5) stop 0, 1, 2, 3, 4
range(5, 10) start, stop 5, 6, 7, 8, 9
range(10, 20, 2) start, stop, step 10, 12, 14, 16, 18

Rules to Define Range

  • The arguments to the range constructor must be integers.
  • Default value of step argument is 0.
  • The stop value in the range() constructor is one-past-the-end.
  • If step is zero, ValueError is raised.
  • Iteration over range is always faster then other collection types such as list, tuple as range object always only stores the start, stop and step values.

Range Examples

Print a sequence from 1 to 5.

for i in range(5):
    print(i)

print(list(range(10))) #List of numbers to 10, start with 0 by default

print(list(range(1, 10))) #List of numbers from start index 1 to 10

print(list(range(0, 10, 3))) #List of numbers from start index 0 to 10 with step value 3

Avoid range() for iterating over lists. Below is a wrong practise in Python.

x = [1, 2, 3]
for i in range(len(x)):
    print(x[i])
	

Instead, use direct iteration over iterables.

x = [1, 2, 3]
for i in x:
    print(i)

Conclusion

In this article, we learnt about range() function in Python with simple examples.

Share

If You Appreciate This, You Can Consider:

We are thankful for your never ending support.

About The Author

author-image
A technology savvy professional with an exceptional capacity to analyze, solve problems and multi-task. Technical expertise in highly scalable distributed systems, self-healing systems, and service-oriented architecture. Technical Skills: Java/J2EE, Spring, Hibernate, Reactive Programming, Microservices, Hystrix, Rest APIs, Java 8, Kafka, Kibana, Elasticsearch, etc.

Further Reading on Python