Python range type represents an immutable sequence of numbers. The most common use of a range is to use it for iterating over a series of items (list, set, tuple, dictionary or string).
The range object is more memory efficient than list or tuple. A range stores only the start, stop and step values in memory. The actual sequence values or sub-ranges are calculated in runtime, as needed.
1. Python range() Quick Reference
The given below code demonstrate the uses of range() function. It shows the valid and invalid uses of the method, accessing the elements in a range sequence, looping over them, and other operations such as slicing.
###### range is a type in Python
# <class 'range'>
type_info = type(range(10))
###### Loop through range
# 0 1 2 3 4 5 6 7 8 9
x = range(10)
for n in x:
print(n, end=" ")
###### Valid Usages
# 0 1 2 3 4 5 6 7 8 9
range(10)
# 2 3 4 5 6 7 8 9
range(2, 10)
# 2 4 6 8
range(2, 10, 2)
# 10 8 6 4
range(10, 2, -2)
####### Invalid Usages
# Floats are not allowed
# range(3.3)
# Characters are not allowed
# range('a', 'd')
####### Access items in range
x = range(10)
# First item in range
print( x[0] ) # 0
# Last item in range
print( x[-1] ) # 9
# 4th item in range
print( x[3] ) # 3
# Check if a number is part of the sequence
print (12 in x) # False
print (8 in x) # True
# Supports index()
print( x.index(3) ) # 3
###### Supports slicing
print( x[5] ) # 5
print( x[2:] ) # range(2, 10)
print( x[:5] ) # range(0, 5)
print( x[2:5] ) # range(2, 5)
print( x[-1] ) # 9
2. Python range() Syntax
The range() method supports two syntax variations.
- range(stop) : Generates a sequence of integers from
0tostop-1, increments by1. - range(start, stop[, step]) : Generates a sequence of integers from
starttostop-1, increments bystep.
Please note that:
- All parameters must be integers (positive or negative).
startis inclusive number. It means thatstartwill be part of the sequence and will be the first number in the sequence.stopis exclusive number. It means thatstopwill NOT be part of the sequence. The sequence will terminate exactly before thestopnumber.- Sequence obtained from
range()follows zero-base indexes. It means that in a sequence of n numbers, indexes will start from0and end atn-1. stepis optional parameter. Ifstepis zero, ValueError is raised.
3. Python range() Examples
3.1. Python program to create range between two numbers
In the given python program, we are creating a range of numbers from 2 to 10. we are then using for-loop to print the numbers in the range.
r = range(2, 10)
for n in r:
print(n, end=" ")
print()
Program output.
2 3 4 5 6 7 8 9
3.2. Python program to reverse a range
In the given python program, we are creating a reverse range from a given range of numbers.
r = range(2, 10)
for n in r:
print(n, end=" ")
print()
rr = reversed(r)
for n in rr:
print(n, end=" ")
print()
Program output.
2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2
3.3. Comparing two ranges for equality
Two Python ranges are equal if they will generate the same sequence of numbers.
In the given python program, we are comparing two ranges for the numbers, they will generate in the sequence.
r1 = range(1, 2) # [1] r2 = range(1, 5, 10) # [1] print(r1 == r2)
Program output.
True
Happy Learning !!
Comments