A range
is another sequence type in Python and it is a collection of numbers. We have discussed about Python’s sequence types; list
and tuple
sequence types through our previous Articles. In this Article, we will discuss about range
sequence type.
As I mentioned above, range
is nothing but a collection or sequence of numbers; yes, just NUMBERS ONLY. It doesn’t allow any other data types other than Integers.
Create a Range
We can create ranges by using the range class constructors. range class has two constructors; one is:
range(N) – it generates a sequence of ‘N’ numbers; staring from 0 to (N-1).
Another variation of the range constructor is:
range(start, stop, step) – it generates a sequence of numbers from start to stop (excluding); with the increment of step value.
Lets’ take a simple example to demonstrate the creation of ranges:
>>> range(10) range(10) >>>
Above example, creates a range from 0 to 9.
Another example is; create a range starting from 1 to 20 (excluding) with the incremental value of 3:
>>> range(1, 20, 3) range(1, 20, 3) >>>
This creates a range of values; 1, 4, 7, 10, 13, 16, 19.
Access range elements
You might have observed the results from above examples; showing the ranges instead of its’ elements or values. Unlike, lists or tuples; ranges doesn’t create the values until you access them. This way ranges takes less memory; compare to lists and tuples, where all the values are generated and stored in the memory.
We can access the ranges using its’ index value. The index starts from 0 to (number of range elements – 1). Ranges also allows negative indexes to access its’ elements from the end. For example, below statements display the first and last elements of a range
.
>>> r = range(1, 20, 3) >>> r[0] 1 >>> r[-1] 19
To display all the elements of a range
, we can iterate through the range
and display each element. Below example shows this:
>>> for x in r: ... print(x) ... 1 4 7 10 13 16 19 >>>
Modify range elements
Ranges are immutable; that means, you can’t modify its’ values. If you attempt to modify its’ elements; Python interpreter will throw the TypeError; like below:
>>> r[3] = 10
Traceback (most recent call last):
File "", line 1, in
TypeError: 'range' object does not support item assignment
>>>
Commonly we use ranges, for looping in for loops.
We will discuss more about Python in my upcoming Articles.
/Shijit/
2 thoughts on “Python – Ranges – A walk through with Examples”