Alternativa B - [2, 4, 6, 8, 10]
Análise Detalhada
Para resolver esta questão, precisamos entender três conceitos principais do Python utilizados no código: a estrutura de dados lista, a função filter e as funções lambda.
1. A Lista Original
O código inicia definindo uma lista de números inteiros sequenciais:
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2. A Função filter
A função filter(funcao, lista) percorre cada item da lista e aplica a função definida.
- Se a função retornar
True, o item é mantido. - Se a função retornar
False, o item é removido.
3. A Função Lambda e o Operador Módulo
O critério de seleção é definido por:
lambda \ x: \ x \% 2 == 0
Vamos decompor essa expressão:
lambda x:: Define uma função anônima que recebe um argumento x (cada número da lista).%: É o operador de módulo (resto da divisão).x % 2: Calcula o resto da divisão do número x por 2.- Se
x é par (ex: 2, 4, 10), o resto é 0. - Se
x é ímpar (ex: 1, 3, 9), o resto é 1. == 0: Verifica se o resto da divisão é zero. Isso é verdadeiro apenas para números pares.
Passo a Passo da Execução
Ao aplicar o filtro na lista [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
| Número (x) | x \% 2 (Resto) | x \% 2 == 0? | Mantido? |
|---|
| 1 | 1 | False | Não |
| 2 | 0 | True | Sim |
| 3 | 1 | False | Não |
| 4 | 0 | True | Sim |
| 5 | 1 | False | Não |
| 6 | 0 | True | Sim |
| 7 | 1 | False | Não |
| 8 | 0 | True | Sim |
| 9 | 1 | False | Não |
| 10 | 0 | True | Sim |
Conclusão
A variável numeros_pares receberá uma nova lista contendo apenas os elementos que passaram no teste lógico (os pares):
[2, 4, 6, 8, 10]
Portanto, a alternativa correta é a segunda opção apresentada na imagem.