The index()
method returns the index of a substring inside the string (if found). If the substring is not found, it raises an exception.
Example
text = 'Python is fun'
# find the index of is
result = text.index('is')
print(result)
# Output: 7
index() Syntax
It's syntax is:
str.index(sub[, start[, end]] )
index() Parameters
The index()
method takes three parameters:
- sub - substring to be searched in the string str.
- start and end(optional) - substring is searched within str[start:end]
index() Return Value
- If substring exists inside the string, it returns the lowest index in the string where substring is found.
- If substring doesn't exist inside the string, it raises a ValueError exception.
The index()
method is similar to the find() method for strings.
The only difference is that find() method returns -1 if the substring is not found, whereas index()
throws an exception.
Example 1: index() With Substring argument Only
sentence = 'Python programming is fun.'
result = sentence.index('is fun')
print("Substring 'is fun':", result)
result = sentence.index('Java')
print("Substring 'Java':", result)
Output
Substring 'is fun': 19 Traceback (most recent call last): File "<string>", line 6, in result = sentence.index('Java') ValueError: substring not found
Note: Index in Python starts from 0 and not 1. So the occurrence is 19 and not 20.
Example 2: index() With start and end Arguments
sentence = 'Python programming is fun.'
# Substring is searched in 'gramming is fun.'
print(sentence.index('ing', 10))
# Substring is searched in 'gramming is '
print(sentence.index('g is', 10, -4))
# Substring is searched in 'programming'
print(sentence.index('fun', 7, 18))
Output
15 17 Traceback (most recent call last): File "<string>", line 10, in print(quote.index('fun', 7, 18)) ValueError: substring not found
Also Read: