Skip to content
Related Articles
Open in App
Not now

Related Articles

Python | First character occurrence from rear String

Improve Article
Save Article
  • Difficulty Level : Medium
  • Last Updated : 19 Jan, 2023
Improve Article
Save Article

There are many ways to find out the first index of element in String as python in its language provides index() function that returns the index of first occurrence of element in String. But if one desires to get the last occurrence of element in string, usually a longer method has to be applied. Lets discuss certain shorthands to achieve this particular task. 

Method #1 : Using rfind() This is usually the hack that we can employ to achieve this task. Employing string function rfind() to get the first element from right i.e last index of element in String. 

Python3




# Python 3 code to demonstrate
# First character occurrence from rear String
# using rfind()
 
# initializing string
test_str = "Geeksforgeeks"
 
# printing original string
print ("The original string is : " + str(test_str))
 
# using rfind()
# to get last element occurrence
res = test_str.rfind('e')
 
# printing result
print ("The index of last element occurrence: " + str(res))

Output : 

The original string is : Geeksforgeeks
The index of last element occurrence: 10

Method #2 : Using List Slice + index() + list() One can convert the string to list using list() and then using list slicing we reverse the list and use the conventional index method to get the index of first occurrence of element. Due to reversed list, the last occurrence is returned rather than the first index of list. 

Python3




# Python 3 code to demonstrate
# First character occurrence from rear String
# using List Slice + index() + list()
 
# initializing string
test_str = "Geeksforgeeks"
 
# printing original string
print ("The original string is : " + str(test_str))
 
# using List Slice + index() + list()
# First character occurrence from rear String
test_str = list(test_str)
res = len(test_str) - 1 - test_str[::-1].index('e')
 
# printing result
print ("The index of last element occurrence: " + str(res))

Output : 

The original string is : Geeksforgeeks
The index of last element occurrence: 10

The Time and Space Complexity for all the methods are the same:

Time Complexity: O(n)

Auxiliary Space: O(n)

Method #3 : Using max() method

Python3




# Python 3 code to demonstrate
# First character occurrence from rear String
 
# initializing string
test_str = "Geeksforgeeks"
 
# printing original string
print ("The original string is : " + str(test_str))
 
# First character occurrence from rear String
x=[]
for i in range(0,len(test_str)):
    if(test_str[i]=="e"):
        x.append(i)
res=max(x)
# printing result
print ("The index of last element occurrence: " + str(res))

Output

The original string is : Geeksforgeeks
The index of last element occurrence: 10

Method #4: Using index() method

Python3




# Python 3 code to demonstrate
# First character occurrence from rear String
# using index
 
# initializing string
test_str = "Geeksforgeeks"
 
# Reversing the string
reverse_str = test_str[::-1]
# printing original string
print("The original string is : " + str(test_str))
 
# using index()
# to get last element occurrence
res = reverse_str.index('e')
 
res = len(test_str)-res - 1
# printing result
print("The index of last element occurrence: " + str(res))

Output

The original string is : Geeksforgeeks
The index of last element occurrence: 10

Time Complexity: O(n)

Auxiliary Space: O(n)


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!