The Wayback Machine - https://web.archive.org/web/20240712022547/https://www.geeksforgeeks.org/python-range-function/
Open In App

Python range() function

Last Updated : 19 Jun, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

The Python range() function returns a sequence of numbers, in a given range. The most common use of it is to iterate sequences on a sequence of numbers using Python loops.

Example

In the given example, we are printing the number from 0 to 4.

Python3




for i in range(5):
    print(i, end=" ")
print()


Output:

0 1 2 3 4 

Syntax of Python range() function

Syntax: range(start, stop, step)

Parameter :

  • start: [ optional ] start value of the sequence
  • stop: next value after the end value of the sequence
  • step: [ optional ] integer value, denoting the difference between any two numbers in the sequence

Return : Returns an object that represents a sequence of numbers

What is the use of the range function in Python

In simple terms, range() allows the user to generate a series of numbers within a given range. Depending on how many arguments the user is passing to the function, the user can decide where that series of numbers will begin and end, as well as how big the difference will be between one number and the next. Python range() function takes can be initialized in 3 ways.

  • range (stop) takes one argument.
  • range (start, stop) takes two arguments.
  • range (start, stop, step) takes three arguments.

Python range (stop)

When the user call range() with one argument, the user will get a series of numbers that starts at 0 and includes every whole number up to, but not including, the number that the user has provided as the stop.

Python range (stop)

Python range visualization

Example of Python range (stop)

In this example, we are printing the number from 0 to 5. We are using the range function in which we are passing the stopping of the loop.

Python3




# printing first 6
# whole number
for i in range(6):
    print(i, end=" ")
print()


Output: 

0 1 2 3 4 5 

Python range (start, stop)

When the user call range() with two arguments, the user gets to decide not only where the series of numbers stops but also where it starts, so the user doesn’t have to start at 0 all the time. Users can use range() to generate a series of numbers from X to Y using range(X, Y).

Image

Python range visualization

Example of Python range (start, stop)

In this example, we are printing the number from 5 to 19. We are using the range function in which we are passing the starting and stopping points of the loop.

Python3




# printing a natural
# number from 5 to 20
for i in range(5, 20):
    print(i, end=" ")


Output: 

5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Python range (start, stop, step)

When the user call range() with three arguments, the user can choose not only where the series of numbers will start and stop, but also how big the difference will be between one number and the next. If the user doesn’t provide a step, then range() will automatically behave as if the step is 1. In this example, we are printing even numbers between 0 and 10, so we choose our starting point from 0(start = 0) and stop the series at 10(stop = 10). For printing an even number the difference between one number and the next must be 2 (step = 2) after providing a step we get the following output (0, 2, 4, 8). 

Image

Python range visualization

Example of Python range (start, stop, step)

In this example, we are printing the number from 0 to 9 with the jump of 2. We are using the range function in which we are passing the starting and stopping points with the jump of the iterator.

Python3




for i in range(0, 10, 2):
    print(i, end=" ")
print()


Output: 

0 2 4 6 8

Incrementing the Range using a Positive Step 

If a user wants to increment, then the user needs steps to be a positive number.

Python3




# incremented by 4
for i in range(0, 30, 4):
    print(i, end=" ")
print()


Output : 

0 4 8 12 16 20 24 28

Python range() using Negative Step

If a user wants to decrement, then the user needs steps to be a negative number. 

Python3




# incremented by -2
for i in range(25, 2, -2):
    print(i, end=" ")
print()


Output : 

25 23 21 19 17 15 13 11 9 7 5 3 

Python range() with Float Values

Python range() function doesn’t support float numbers. i.e. user cannot use floating-point or non-integer numbers in any of its arguments. Users can use only integer numbers.

Python3




# using a float number
for i in range(3.3):
    print(i)


Output : 

for i in range(3.3):
TypeError: 'float' object cannot be interpreted as an integer

Python range() with More Examples

Concatenation of two range() functions using itertools chain() method

The result from two range() functions can be concatenated by using the chain() method of itertools module. The chain() method is used to print all the values in iterable targets one after another mentioned in its arguments.

Python3




from itertools import chain
 
# Using chain method
print("Concatenating the result")
res = chain(range(5), range(10, 20, 2))
 
for i in res:
    print(i, end=" ")


Output : 

Concatenating the result
0 1 2 3 4 10 12 14 16 18 

Accessing range() with an Index Value

A sequence of numbers is returned by the range() function as its object that can be accessed by its index value. Both positive and negative indexing is supported by its object.

Python3




ele = range(10)[0]
print("First element:", ele)
 
ele = range(10)[-1]
print("\nLast element:", ele)
 
ele = range(10)[4]
print("\nFifth element:", ele)


Output : 

First element: 0
Last element: 9
Fifth element: 4

range() function with List in Python

In this example, we are creating a list and we are printing list elements with the range() in Python.

Python3




fruits = ["apple", "banana", "cherry", "date"]
 
for i in range(len(fruits)):
    print(fruits[i])


Output :

apple
banana
cherry
date

Some Important points to remember about the Python range() function

  • The range() function only works with integers, i.e. whole numbers.
  • All arguments must be integers. Users can not pass a string or float number or any other type in a start, stop, and step argument of a range().
  • All three arguments can be positive or negative.
  • The step value must not be zero. If a step is zero, python raises a ValueError exception.
  • range() is a type in Python.
  • Users can access items in a range() by index, just as users do with a list.


Previous Article
Next Article

Similar Reads

range() vs xrange() in Python
The range() and xrange() are two functions that could be used to iterate a certain number of times in for loops in Python. In Python3, there is no xrange, but the range function behaves like xrange in Python2. If you want to write code that will run on both Python2 and Python3, you should use range(). Both are implemented in different ways and have
4 min read
Python range() Method
There are many iterables in Python like list, tuple etc. range() gives another way to initialize a sequence of numbers using some conditions.range() is commonly used in for looping hence, knowledge of same is key aspect when dealing with any kind of Python code. Syntax : range(start, stop, step)Parameters : start : Element from which sequence const
3 min read
Python | Numbers in a list within a given range
Given a list, print the number of numbers in the given range. Examples: Input : [10, 20, 30, 40, 50, 40, 40, 60, 70] range: 40-80 Output : 6 Input : [10, 20, 30, 40, 50, 40, 40, 60, 70] range: 10-40 Output : 4 Multiple Line Approach:Traverse in the list and check for every number. If the number lies in the specified range, then increase the counter
6 min read
Python | Count unset bits in a range
Given a non-negative number n and two values l and r. The problem is to count the number of unset bits in the range l to r in the binary representation of n, i.e, to count unset bits from the rightmost lth bit to the rightmost rth bit. Examples: Input : n = 42, l = 2, r = 5 Output : 2 (42)10 = (101010)2 There are '2' unset bits in the range 2 to 5.
2 min read
Python | Count set bits in a range
Given a non-negative number n and two values l and r. The problem is to count the number of set bits in the range l to r in the binary representation of n, i.e, to count set bits from the rightmost lth bit to the rightmost rth bit. Constraint: 1 <= l <= r <= number of bits in the binary representation of n. Examples: Input : n = 42, l = 2,
2 min read
Python | Generate random numbers within a given range and store in a list
Given lower and upper limits, Generate random numbers list in Python within a given range, starting from 'start' to 'end', and store them in the list. Here, we will generate any random number in Python using different methods. Examples: Input: num = 10, start = 20, end = 40 Output: [23, 20, 30, 33, 30, 36, 37, 27, 28, 38] Explanation: The output co
5 min read
Python List Comprehension | Three way partitioning of an array around a given range
Given an array and a range [lowVal, highVal], partition the array around the range such that array is divided in three parts. 1) All elements smaller than lowVal come first. 2) All elements in range lowVal to highVal come next. 3) All elements greater than highVal appear in the end. The individual elements of three sets can appear in any order. Exa
3 min read
Python | range() does not return an iterator
range() : Python range function generates a list of numbers which are generally used in many situation for iteration as in for loop or in many other cases. In python range objects are not iterators. range is a class of a list of immutable objects. The iteration behavior of range is similar to iteration behavior of list in list and range we can not
2 min read
range() to a list in Python
Often times we want to create a list containing a continuous value like, in a range of 100-200. Let's discuss how to create a list using the range() function. Will this work ? # Create a list in a range of 10-20 My_list = [range(10, 20, 1)] # Print the list print(My_list) Output : As we can see in the output, the result is not exactly what we were
1 min read
Python | Remove all sublists outside the given range
Given, list of lists and a range, the task is to traverse each sub-list and remove sublists containing elements falling out of given range. Examples: Input : left= 10, right = 17, list = [[0, 1.2, 3.4, 18.1, 10.1], [10.3, 12.4, 15, 17, 16, 11], [100, 10, 9.2, 11, 13, 17.1], ] Output: [[10.3, 12.4, 15, 17, 16, 11]] Input : left= 1, right = 9, list =
3 min read
Article Tags :
Practice Tags :
three90RightbarBannerImg