Python Range() Tutorial for Beginners

The range() function is a fundamental tool in Python for creating sequences of numbers, particularly useful in loops. Whether you’re iterating over a sequence, creating lists, or working with custom steps, understanding range() can enhance your code’s efficiency and readability. This guide explores how to use the range() function in…

The range() function is a fundamental tool in Python for creating sequences of numbers, particularly useful in loops. Whether you’re iterating over a sequence, creating lists, or working with custom steps, understanding range() can enhance your code’s efficiency and readability. This guide explores how to use the range() function in Python, from basic usage to advanced techniques like reversing ranges.

What Is the Python range() Function?

The range() function generates a sequence of numbers, which is commonly used in for loops to specify the number of iterations.

Basic Syntax

range(start, stop, step)
  • start: The starting number of the sequence. Defaults to 0 if omitted.
  • stop: The endpoint of the sequence (exclusive).
  • step: The difference between each number in the sequence. Defaults to 1 if omitted.

Example Usage

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

Output:

0
1
2
3
4

Here, range(5) generates numbers from 0 up to but not including 5.

Using range() with Start, Stop, and Step

Specifying Start and Stop

Define a custom starting point by providing both start and stop values:

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

Output:

2
3
4
5
6
7
8
9

Adding Step for Custom Intervals

Use the step parameter to skip numbers in the sequence:

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

Output:

0
2
4
6
8

Reversing a Range in Python

To iterate in reverse order, use a negative step value:

for i in range(10, 0, -1):
    print(i)

Output:

10
9
8
7
6
5
4
3
2
1

Using reversed(range())

Alternatively, reverse an existing range:

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

Output:

4
3
2
1
0

range() in Python for Loops

Iterating Over a List by Index

Access both the index and the item:

fruits = ['apple', 'banana', 'cherry']
for i in range(len(fruits)):
    print(f"{i}: {fruits[i]}")

Output:

0: apple
1: banana
2: cherry

Using range() with List Comprehensions

Generate lists efficiently:

squares = [i**2 for i in range(10)]
print(squares)

Output:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Tips for Using range()

  • Exclusive Stop Value: The stop value is not included in the sequence.
  • Negative Step: Use a negative step to create a descending sequence.
  • Memory Efficiency: range() generates numbers on demand, making it efficient for large sequences.

Summary

Think of the range() function as your go-to for generating number sequences in Python. It’s a staple in for loops and lets you customize the start, stop, and step values to fit whatever you need. Mastering range() means you’ll write code that’s not just efficient but also a breeze to read.

CREATE YOUR FREE ACCOUNT & GET OUR

FREE IT LABS

profile avatar

Paul Hill

Paul Hill is the founder of ServerAcademy.com and IT instructor to over 500,000 students online!
0 0 votes
Lesson Rating
Subscribe
Notify of
profile avatar
0 Comments
Inline Feedbacks
View all comments