0
respostas

[Dúvida] Buscar uma sequencia (padrão) dentro de uma lista é possivel?

Boa tarde a todos(a),

Eu gostaria de saber se é possivel buscar uma sequencia de numeros dentro de uma lista, tenho uma lista que contem apenas 3 numeros, [0, 1, -1], e esta lista possuem 2000 registros. Eu estou tentando procurar alguns padrões de sequencia dentro desta lista.

Exemplo: -1,-1,1,-1,-1,1,1,1,-1,-1,-1,1,1,-1,1,1,1,-1,-1,1,1,1,1,1,1,1,1,-1,-1,-1,1,1,1,-1,1,1,-1,-1,1,1,1,-1,1,1,1,1,-1,-1,-1,-1 Se eu quiser buscar uma sequencia de numeros [,1,-1,-1,-1,1,1] o codigo me retorna quantas vezes essa sequencia repetiu dentro da lista acima.

Atualmente eu tenho um codigo que me retorna somente um elemento e qual indice este elemento esta localizado, porem ele não me ajuda =(

def busca(lista, elementos):
    """Retorna o índice elem se ele estiver na lista ou None, caso contrário"""
    for i in range(len(lista)):
        if lista[i] == elementos:
            return i
    return None

lista_estranha = -1,-1,1,-1,-1,1,1,1,-1,-1,-1,1,1,-1,1,1,1,-1,-1,1,1,1,1,1,1,1,1,-1,-1,-1,1,1,1,-1,1,1,-1,-1,1,1,1,-1,1,1,1,1,-1,-1,-1,-1
elemento = -1

indice = busca(lista_estranha, elemento)
if indice is not None:
    print("O índice do elemento {} é {}".format(elemento, indice))
else:
    print("O elemento {} não se encontra na lista".format(elemento))

Caso exista algum algoritmo que possa me auxiliar e ja esteja na grade de estudos da Alura favor me indiciar, pois ainda não iniciei machine learn nos estudos.