1
resposta

Como faço para achar números consecutivos em uma lista??

Por Exemplo:

lista = [1,6,5,3,4,5,6]

Gostaria de criar uma função que me trouxesse esses números.

o resultado deveria ser : [3,4,5,6]

Fiz assim até agora... mais ainda não esta 100%

lista_consecutiva = []

lista1 = [1,6,8,4,9,2,3,4,5,7]

for l in range(len(lista1)-1):

if lista1[l] == lista1[l + 1] == lista1[l + 2] - 1:

    lista_consecutiva.append(lista1[l])
    lista_consecutiva.append(lista1[l  + 1])

print(lista_consecutiva)

1 resposta

Olá Eduardo, tudo bem?

lista = [1,6,8,4,9,2,3,4,5,7]

def sort_list(lista, start, end):
    """
    Função para ordenar uma lista de números.

    list.sort() - ordena a lista;
    set(lista) - retira os números repetidos;
    list() - converte o conjunto set, no formato {} para lista []

    Args:
        lista (list): lista a ser ordenada
        start ([type]): início da sequência requerida
        end ([type]): final da sequência requerida

    Returns:
        result: lista com a ordem requirida
    """
    lista.sort()

    sorted_list = list(set(lista))

    result = [i for i in sorted_list if start <= i <= end]

    return result

result = sort_list(lista, 3, 5)

print(result)

Espero que tenha ajudado.

Cumprimentos.