matches = []
st = 'abababa baba alibababa'
needle = 'baba'
for i in range(len(st) - len(needle) + 1):
    i = st.find(needle, i, i + len(needle))
if i >= 0:
    matches.append(st.find(needle, i, i + len(needle)))
print(str(matches))
Как я могу найти количество перекрывающихся последовательностей в строке с помощью Python?