Это старый поток, но я заинтересовался и хотел поделиться своим решением.
def find_all(a_string, sub):
result = []
k = 0
while k < len(a_string):
k = a_string.find(sub, k)
if k == -1:
return result
else:
result.append(k)
k += 1 #change to k += len(sub) to not search overlapping results
return result
Он должен вернуть список позиций, где была найдена подстрока. Прокомментируйте, если вы видите ошибку или комнату для улучшения.