Open In App
Related Articles

Python String index() Method

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

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

# initializing target string 
ch = "geeksforgeeks"
  
# initializing argument string 
ch1 = "geeks"
  
# using index() to find position of "geeks"
# starting from 2nd index 
# prints 8
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"
# finding gfg in string segment 'gfg4'
print(test_string.index('gfg', 4, 8))
  
# finding "21" in string segment 'gfg4321'
print(test_string.index("21", 8, len(test_string)))
  
# finding "32" in string segment 'fg432' using negative index
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

# initializing target string 
ch = "geeksforgeeks"
  
# initializing argument string 
ch1 = "gfg"
  
# using index() to find position of "gfg"
# raises error
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

# initializing target strings
VOLTAGES = ["001101 AC", "0011100 DC", "0011100 AC", "001 DC"]
  
# initializing argument string
TYPE = "AC"
  
# initializing bit-length calculator
SUM_BITS = 0
  
for i in VOLTAGES:
  
    ch = i
  
    if ch[len(ch) - 2] != "D":
        # extracts the length of bits in string
        bit_len = ch.index(TYPE) - 1
  
        # adds to total
        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


Last Updated : 08 Sep, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads