So today in this tutorial, we are going to cover the Python index() method.
index() method is defined for string, list and tuple class. For strings, the method returns the minimum index at which the given sub-string occurs. Whereas for lists and tuples, the method returns the minimum index where the given object if found.
Using the Python index() Method
From the above definition, it is clear that the Python index() method is only defined for iterables. Hence, it would not work for dictionaries or sets as they don’t follow the indexing order.
For an iterable, the syntax for using the Python
index() method is given below.
iterable.index(sub, start, end)
- iterable can be any object like list, string or tuple,
- sub is the sub-string or item in the iterable whose minimum index is to be found,
- start is the starting index from where the search would start. It is set to 0 by default if not specified,
- end is the last index up to which the search would be done. Its value is considered equal to the length of the iterable if not specified.
Please note: If the object sub is not found within the range of start to end index, the method raises a
Examples for the index() Method in Python
Now that we know the syntax for using the
index() method for any iterable, let us try to use it through some examples.
1. List index()
index() method is a member function of the list class. And is widely used to search values in a list.
# initialisation of variables list1 = [9, 2, 7, 6, 8, 2, 3, 5, 1] #index() with list print("Value 2 first found at index: ", list1.index(2)) print("Value 2 first found at index(within range 4-7) : ", list1.index(2,4,7))
Value 2 first found at index: 1 Value 2 first found at index(within range 4-7) : 5
Here in the above example, we have first initialized a list
list1. Next, we try to get the minimum index where the value 2 occurs in it.
The program returns an index 1 when we try to find the value 2 with no start and end specified. Hence, it is clear that in the whole list, the
index() method returns the minimum index where 2 is present.
Nextly for a specified range(4-7), the method gives us a value 5. This is the index where 2 occurs the second time within the list. But in the range 4-7, 5th index is the minimum one.
index() method works in the same manner for tuples too.
2. String Python index()
Coming to strings, the member function Python
index() returns the minimum index at which the starting of the specified substring is found.
Let us look at an example.
# initialisation of string str1 = "Python Python" #index() with string print("sub-string 'Py' first found at index: ", str1.index('Py')) print("sub-string 'Py' first found at index(within range 5-10) : ", str1.index('Py',5,10))
sub-string 'Py' first found at index: 0 sub-string 'Py' first found at index(within range 5-10) : 7
Here for the first search with an unspecified range, the Python
index() method returns 0 while searching the sub-string ‘Py‘. As we can see this is the minimum index at which ‘Py‘ occurs in the string
When we specify a range(here 5-10) the method accordingly searches ‘Py’ from the 5th to 10th index. From the output, it is clear that the function finds the starting of the sub-string at 7th position.
For any iterable it is worth noting that if the passed sub(object) is not found in the given iterable, a
ValueError is raised.
So in this tutorial, we learned about the working as well as the use of the
index() method in Python. For any further questions related to this topic, feel free to comment below.
- Python List – 15 things to know,
- Python Strings – Tutorial,
- Python String index() – Journal Dev Post,
- Array Indexing in Python – Stack Overflow Question.