Oi, Nathã. Tudo bem com você?
Sua abordagem para resolver o problema de filtrar números pares é bem interessante. Você preferiu expandir o que a instrutora compactou, e isso é uma decisão legítima quando você quer entender cada detalhe da execução. Quebrar a lógica em funções separadas e ver o fluxo passo a passo é uma estratégia válida de aprendizado, especialmente quando você ainda está construindo confiança com conceitos como filter e lambda.
Seu código funciona corretamente e cumpre o objetivo. A função pares transforma a string em uma lista de inteiros, e minha_filter valida se cada número é par. O uso de filter com essa função customizada deixa bem explícito o que está acontecendo, diferente do lambda que compacta tudo em uma linha. Uma dica interessante: você pode simplificar a função minha_filter removendo o else, já que você pode retornar diretamente o resultado da comparação. Algo como return num % 2 == 0 faz a mesma coisa e fica mais conciso.
Conforme você ganhar experiência, usar lambda vai ficando mais natural. A razão pela qual a instrutora utilizou é justamente porque filter espera uma função que retorna True ou False, e lambda é perfeita para funções pequenas e de uso único. No seu caso, comparar suas duas soluções é exatamente o exercício proposto, então você está no caminho certo. Com o tempo, você verá que aquela "complexidade" da instrutora vira algo muito mais simples de ler.
Como você se sente agora sobre a abordagem com lambda depois de ter desenvolvido sua versão mais detalhada?
Parabéns por ter dedicado tempo a entender o conceito profundamente e por compartilhar sua solução no fórum. Continue compartilhando suas implementações, pois isso enriquece a discussão e ajuda os colegas a verem diferentes perspectivas.
Para saber mais:
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!