1. What is the index() method in Python?
The index() method in Python is a built-in method used with strings (and also lists, tuples, etc.) to return the index of the first occurrence of a specified substring. It searches the string from left to right and gives the position where the substring appears first.
If the substring is not found, Python raises a ValueError.
2. Purpose of the index() method
Key benefits include:- To locate the position of a substring inside a string.
- Useful in string parsing, data extraction, and validation logic.
- Helps when there’s a need to identify or manipulate parts of a string.
3. Python index() method Syntax
string.index(substring, start, end)
4. Parameter Description: Python index() Method
| Parameter | Required | Description |
|---|---|---|
| substring | Yes. | The value (substring) to search for in the main string. |
| start | No | The index from which the search should begin. Default is 0. |
Return Value
- Returns the index of the first occurrence of the substring.
- Raises a ValueError if the substring is not found.
5. Examples and Explanations of the Python index() Method
Example 1: Basic Usage: Python index () Method
text = "Data Science with Python"
index = text.index("Science")
print("Index of 'Science':", index)
#Output:
Index of 'Science': 5
Explanation: The word “Science” begins at position 5 in the given string.
Example 2: Case Sensitivity
text = "Python is Powerful"
index = text.index("Power")
print("Index of 'Power':", index)
#Output:
Index of 'Power': 10
Explanation: The index() function is case-sensitive. It would not find ‘power’ (lowercase).
Example 3: Using Start and End Parameters
text = "Find the first 'e' in the string."
index = text.index("e", 10)
print("Index of 'e' after position 10:", index)
#Output:
Index of 'e' after position 10: 22
Explanation: Starts searching from position 10, skipping earlier occurrences of ‘e’.
Example 4: Substring Not Found (Raises Error)
text = "Welcome to Python"
index = text.index("Java")
#Output:
ValueError: substring not found
Explanation: “Java” is not present, so index() raises an error. Unlike find(), which returns -1, index() throws an exception.
Example 5: Locating a Character
text = "banana"
print("First 'a' at index:", text.index('a'))
#Output:
First 'a' at index: 1
Explanation: The first ‘a’ is located at index 1.
Example 6: Index of Last Occurrence with Manual Slicing
To find the last occurrence, one can combine rindex() or reverse slice logic:
text = "banana"
last_index = len(text) - 1 - text[::-1].index('a')
print("Last 'a' at index:", last_index)
#Output:
Last 'a' at index: 5
Explanation:
[::-1] reverses the string and finds the first ‘a’ from the right. The actual index is calculated accordingly.
Difference: index() vs find()Method
| Feature | index() | find() |
|---|---|---|
| Return Value | Returns index or raises error | Returns index or -1 if not found |
| Error on miss | Raises ValueError | Does not raise error |
| Use case | Strict presence check | Safe search without exception |
Use Cases: index() Method
| Scenario | Description |
|---|---|
| Data Parsing | Find positions of keywords or delimiters in a sentence |
| Input Validation | Ensure required substrings are present |
| Extract Substring Dynamically | Use index positions to slice out specific content |
| Syntax/Format Checking | Check if a character or tag exists in a particular section of text |