Skip to main content

Range Function

Range Function in Python

The range statement is a crucial feature in Python that enables developers to define a sequence of numbers within a specified range. It is often used in various programming applications to create loops and iterate over specific subsets of elements in a list or tuple. Range statement is a simple yet powerful tool that can enhance the functionality of your Python code. In this article, we will explore the different applications and functionalities of the range statement and how it can be used to boost the efficiency and effectiveness of your Python scripts.

What is the range in Python?

The range function in Python generates a sequence of numbers within a given range. It is a built-in function in Python that can be used to create an iterable range object.

The range function takes three parameters: start, stop, and range step. The start parameter is the beginning of the range, stop is the end of the range (exclusive), and step is the difference between each number in the sequence.

Example 1: Printing Numbers from 0 to 9

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

Example 2: Printing Even Numbers from 2 to 10

for i in range(2, 11, 2):
    print(i)

In the second example, the start parameter is set as 2, the stop parameter is set as 11 (exclusive), and the step parameter is set as 2, which creates a sequence of even numbers from 2 to 10 (inclusive range).

Using the range function can be useful in many programming scenarios, such as looping through a set of numbers or generating a list of elements.

How to use range with for Loop

This function can be used with a for loop to iterate through a certain range of numbers.

Here is an example of using range with a for loop to print out a sequence of integers:

for num in range(1, 10):
    print(num)

# This will output:
# 
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9

How to Use range with Float Numbers

You can also use range to loop over a sequence of float numbers.

for i in range(0, 10):
    print(i/10.0)

# This will output:
# 
# 0.0
# 0.1
# 0.2
# 0.3
# 0.4
# 0.5
# 0.6
# 0.7
# 0.8
# 0.9

In summary, range is a useful Python function that can be combined with a for loop to iterate over a sequence of numbers, including float values.

How to Reverse a range

To reverse a range in Python, you can make use of the list function. First, create a range using the range function, and then pass it as an argument to the list function to convert range in list. After that, you can use the [::-1] slice notation to get the range backwards. Alternatively, you can also use the reversed function to get the reversed range.

Using the list Function and Slice Notation

my_range = range(1, 6)
reversed_range = list(my_range)[::-1]
print(reversed_range)  ### Output

Using the reversed Function

my_range = range(1, 6)
reversed_range = list(reversed(my_range))
print(reversed_range)  ### Output

In both examples, we first create a range from 1 to 6 using the range function. Then, we pass it as an argument to the list function to convert it into a list. Finally, we use either slice notation or the reversed function to get the range backwards.

Range and Xrange

In Python 2, range() and xrange() are used to generate a sequence of numbers between two values. However, there is a difference between these two methods.

range() returns a list while xrange() returns an iterator. This means that range() generates the entire sequence and stores it in memory while xrange() generates the values on-the-fly as needed. Therefore, xrange() requires less memory and is more efficient for large sequences.

Here is an example of using range():

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

# Output:
# 
# 0
# 1
# 2
# 3
# 4

And here is the same example using xrange() in Python 2:

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

# Output:
# 
# 0
# 1
# 2
# 3
# 4

Overall, xrange() is recommended for large sequences in Python 2 as it is more memory efficient.

Using random with range function

Python's random module is a powerful tool for generating random numbers. One of the common use cases for random is to generate random integers within a specific range. This can be achieved by using the range function in conjunction with random.

import random

# Generate a random number in the range 0 to 9
num = random.randint(0, 9)

print(num)

In the example above, we import the random module and use the randint function to generate a random integer between 0 and 9 (inclusive).

import random

# Generate 10 random integers in the range 0 to 9
nums = [random.randint(0, 9) for _ in range(10)]

print(nums)

In the example above, we use a list comprehension with the range function to generate a list of 10 random integers between 0 and 9 (inclusive).

Using random with range function in Python is an easy way to generate random integers within a specific range. This can be useful in a variety of applications, from generating random test data to simulating gameplay or statistical processes.

Contribute with us!

Do not hesitate to contribute to Python tutorials on GitHub: create a fork, update content and issue a pull request.

Profile picture for user AliaksandrSumich
Python engineer, expert in third-party web services integration.
Updated: 02/22/2024 - 15:15
Profile picture for user angarsky
Reviewed and approved