python find all indexes of character in string code example

Example 1: python3 return a list of indexes of a specific character in a string

string='mississippi'
s='s'
lst= []
for i in range(len(string)):
    if (string[i] == s):
        lst.append(i)
print(lst)
#result: [2, 3, 5, 6]

Example 2: python find all elements of substring in string

def find_all(a_str, sub):
    start = 0
    while True:
        start = a_str.find(sub, start)
        if start == -1: return
        yield start
        start += len(sub) # use start += 1 to find overlapping matches

list(find_all('spam spam spam spam', 'spam')) # [0, 5, 10, 15]

Example 3: how to find the indexes of a substring in a string in python

import re
# matches_position_start will be a list of starting index positions
matches_start = re.finditer(word.lower(), string.lower())
matches_position_start = [match.start() for match in matches_start]

# matches_position_end will be a list of ending index positions
matches_end = re.finditer(word.lower(), string.lower())
matches_position_end = [match.end() for match in matches_end]