Python String index() Method
Last Updated :
08 Sep, 2023
Python String index() Method allows a user to find the index of the first occurrence of an existing substring inside a given string in Python.
Python String Index() Method Syntax
Syntax: string_obj.index(substring, start, end)
Parameters:
- substring: The string to be searched for.
- start (default : 0) : This function specifies the position from where the search has to be started.
- end (default: length of string): This function specifies the position from where the search has to end.
Return: Returns the first position of the substring found.
Exception: Raises ValueError if the argument string is not found or the index is out of range.
Python String Index() Method Example
Here the first character of ‘and’ in string random is ‘a’ and the index of ‘a’ is 1, so the output is also 1.
Python3
string = 'random'
print ( "index of 'and' in string:" , string.index( 'and' ))
|
Output
Index of 'and' in string: 1
Python String Index() Method for Finding Index of Single Character
Basic usage of the Python string index() method is to the index position of a particular character or it may be a word. So whenever we need to find the index of a particular character we use the index method to get it.
Python3
ch = "geeksforgeeks"
ch1 = "geeks"
pos = ch.index(ch1, 2 )
print ( "The first position of geeks after 2nd index : " ,end = "")
print (pos)
|
Output
The first position of geeks after 2nd index : 8
Note: The index() method is similar to find(). The only difference is find() returns -1 if the searched string is not found and index() throws an exception in this case.
Python String Index() with Start and End Arguments
The index()
method in Python is used to find the index of the first occurrence of a substring within a string. It returns the index of the substring if found, and raises a ValueError
if the substring is not present.
Python3
test_string = "1234gfg4321"
print (test_string.index( 'gfg' , 4 , 8 ))
print (test_string.index( "21" , 8 , len (test_string)))
print (test_string.index( "32" , 5 , - 1 ))
|
Output
4
9
8
Python String Index() Method using List Comprehension
The index()
method in Python is used to find the index of the first occurrence of a substring within a string. This example uses list comprehension to find the indices of multiple substrings in the string.
Python3
text = "Hello Geeks and welcome to Geeksforgeeks"
substring_list = [ "Geeks" , "welcome" , "notfound" ]
indices = [text.index(sub) if sub in text else - 1 for sub in substring_list]
print (indices)
|
Output
[6, 16, -1]
Python String Index() Method using Tuple
The index()
method in Python is used to find the index of the first occurrence of a substring within a string. The index() method can be used with a tuple to find the index of the first occurrence of any substring from the tuple within the given string.
Python3
text = "Hello Geeks! and welcome to Geeksforgeeks"
substring_tuple = ( "Geeks" , "to" , "!" , "notfound" )
for sub in substring_tuple:
try :
index = text.index(sub)
print (f "Index of '{sub}': {index}" )
except ValueError as e:
print (f "Substring '{sub}' not found!" )
|
Output
Index of 'Geeks': 6
Index of 'to': 25
Index of '!': 11
Substring 'notfound' not found!
Exception when using Python String index() Method
Sometimes we got some exceptions that lead to some error in the case of the index() we have here an error also named Value Error.
ValueError: This error is raised in the case when the argument string is not found in the target string.
Python
ch = "geeksforgeeks"
ch1 = "gfg"
pos = ch.index(ch1)
print ( "The first position of gfg is : " ,end = "")
print (pos)
|
Output
Traceback (most recent call last):
File "/home/aa5904420c1c3aa072ede56ead7e26ab.py", line 12, in
pos = ch.index(ch1)
ValueError: substring not found
Practical Application
Python String index() Method function is used to extract the suffix or prefix length after or before the target word. The example below displays the total bit length of an instruction coming from AC voltage given information in a string.
Python
VOLTAGES = [ "001101 AC" , "0011100 DC" , "0011100 AC" , "001 DC" ]
TYPE = "AC"
SUM_BITS = 0
for i in VOLTAGES:
ch = i
if ch[ len (ch) - 2 ] ! = "D" :
bit_len = ch.index( TYPE ) - 1
SUM_BITS = SUM_BITS + bit_len
print ( "The total bit length of AC is : " , SUM_BITS)
|
Output
The total bit length of AC is : 13
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...