The range()
function returns a sequence of numbers between the give range.
Example
# create a sequence of numbers from 0 to 3
numbers = range(4)
# iterating through the sequence of numbers
for i in numbers:
print(i)
# Output:
# 0
# 1
# 2
# 3
Note: range()
returns an immutable sequence of numbers that can be easily converted to lists, tuples, sets etc.
Syntax of range()
The range()
function can take a maximum of three arguments:
range(start, stop, step)
The start
and step
parameters in range()
are optional.
Now, let's see how range()
works with different number of arguments.
Example 1: range() with Stop Argument
If we pass a single argument to range()
, it means we are passing the stop
argument.
In this case, range()
returns a sequence of numbers starting from 0 up to the number (but not including the number).
# numbers from 0 to 3 (4 is not included)
numbers = range(4)
print(list(numbers)) # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range(-4)
print(list(numbers)) # []
Example 2: range() with Start and Stop Arguments
If we pass two arguments to range()
, it means we are passing start
and stop
arguments.
In this case, range()
returns a sequence of numbers starting from start
(inclusive) up to stop
(exclusive).
# numbers from 2 to 4 (5 is not included)
numbers = range(2, 5)
print(list(numbers)) # [2, 3, 4]
# numbers from -2 to 3 (4 is not included)
numbers = range(-2, 4)
print(list(numbers)) # [-2, -1, 0, 1, 2, 3]
# returns an empty sequence of numbers
numbers = range(4, 2)
print(list(numbers)) # []
Example 3: range() with Start, Stop and Step Arguments
If we pass all three arguments,
- the first argument is
start
- the second argument is
stop
- the third argument is
step
The step
argument specifies the incrementation between two numbers in the sequence.
# numbers from 2 to 10 with increment 3 between numbers
numbers = range(2, 10, 3)
print(list(numbers)) # [2, 5, 8]
# numbers from 4 to -1 with increment of -1
numbers = range(4, -1, -1)
print(list(numbers)) # [4, 3, 2, 1, 0]
# numbers from 1 to 4 with increment of 1
# range(0, 5, 1) is equivalent to range(5)
numbers = range(0, 5, 1)
print(list(numbers)) # [0, 1, 2, 3, 4]
Note: The default value of start
is 0, and the default value of step
is 1. That's why range(0, 5, 1)
is equivalent to range(5)
.
range() in for Loop
The range()
function is commonly used in a for loop to iterate the loop a certain number of times. For example,
# iterate the loop 5 times
for i in range(5):
print(i, 'Hello')
0 Hello 1 Hello 2 Hello 3 Hello 4 Hello