[ad_1]
The Python range
type generates a sequence of integers by defining a start and the end point of the range. It is generally used with the for
loop to iterate over a sequence of numbers.
range()
works differently in Python 2 and 3.
In Python 2, there are two functions that allow you to generate a sequence of integers, range
and xrange
. These functions are very similar, with the main difference being that range
returns a list, and xrange
returns an xrange object.
In Python 3, the xrange
function has been dropped, and the range
function behaves similarly to the Python 2 xrange
. Python 3 range
is not a function but rather a type that represents an immutable sequence of numbers.
In this article, we will cover the basics of the Python 3 range
type.
Python range()
syntax #
The range
constructor takes the following forms:
range(stop)
range(start, stop[, step])
The arguments provided to the range
constructor must be integers. Floating numbers and other types are not allowed.
range
takes one required and two optional arguments. It returns a range object that represents the given range and generates the numbers on demand.
Python range(stop)
#
When only one argument is given, range
returns a sequence of numbers, incremented by 1
, starting from 0
to stop - 1
.
Here’s the range type in action:
for i in range(5):
print(i)
The generated sequence of numbers starts from 0
and ends with 4
(5-1):
0
1
2
3
4
If the argument is 0
or a negative integer range
returns an empty sequence:
We’re converting the range object to a list because range does a lazy evaluation of the integer sequence. The output is an empty list:
[]
Python range(start, stop)
#
When two arguments are provided, range
returns a sequence of numbers, incremented by 1
, starting from start
to stop - 1
.
Here is an example:
for i in range(3, 5):
print(i)
3
4
The stop
argument must be greater than start
. Otherwise, the sequence is empty:
[]
0
, positive and negative integers as arguments:
print(list(range(-5, -3)))
[-5, -4]
print(list(range(-3, 0)))
[-3, -2, -1]
Python range(start, stop, step)
#
When three arguments are given, range
returns a sequence of numbers, incremented or decremented by step
, starting from start
to stop - 1
.
If step
is positive, range
returns a sequence that increments:
for i in range(0, 26, 5):
print(i)
0
5
10
15
20
25
When incrementing, the stop
argument must be greater than start
. Otherwise, the sequence is empty.
If step
is negative, range
returns a sequence that decrements:
for i in range(20, 4, -5):
print(i)
20
15
10
5
When decrementing, the stop
argument must be less than start
. Otherwise, the sequence is empty.
If step
is 0
a ValueError exception is raised:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: range() arg 3 must not be zero
Conclusion #
The Python range
type allows you to generate a sequence of integers. It is mostly used in for
loops.
If you have any questions or feedback, feel free to leave a comment.
[ad_2]
Source link