# Filtrando números pares
numeros = input("Digite os números separados por espaços:").split()
pares = filter(lambda x: int(x) % 2 == 0, numeros)
print("Números pares: ".join(pares))
Output:
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
# Filtrando números pares
numeros = input("Digite os números separados por espaços:").split()
pares = filter(lambda x: int(x) % 2 == 0, numeros)
print("Números pares: ".join(pares))
Output:
Olá, estudante. Tudo bem?
Você construiu uma solução interessante utilizando filter com uma função lambda, o que mostra uma boa compreensão de funções de ordem superior em Python. O ponto que precisa de ajuste está na etapa final de exibição dos resultados.
O método join pertence às strings e deve ser usado para unir elementos de uma sequência de strings. No seu caso, o filter retorna um iterador com os valores ainda em formato de string, mas a forma como a mensagem foi combinada no print acaba gerando uma construção incorreta. O ideal é separar a mensagem do resultado e garantir que os dados estejam corretamente preparados para a junção. Por exemplo:
numeros = input("Digite os números separados por espaços: ").split()
pares = filter(lambda x: int(x) % 2 == 0, numeros)
print("Números pares:", " ".join(pares))
Aqui, a mensagem é exibida separadamente e o join atua apenas sobre os elementos filtrados.
Uma forma mais idiomática em Python é utilizar list comprehension, que deixa o código mais direto:
numeros = input("Digite os números separados por espaços: ").split()
pares = [x for x in numeros if int(x) % 2 == 0]
print("Números pares:", " ".join(pares))
Essa abordagem evita a necessidade de filter e melhora a legibilidade, mantendo o mesmo resultado.
Pensando na diferença entre essas duas abordagens, em quais situações você acha que o uso de filter pode ser mais vantajoso do que uma list comprehension, considerando legibilidade e estilo de código?
Vou deixar abaixo um artigo sobre list comprehension, caso ainda não conheça.