Alternativa B - [2, 4, 6, 8, 10].
Análise da Questão
O código apresentado utiliza funções nativas do Python para filtrar uma lista de números. Vamos analisar passo a passo o funcionamento:
- Definição da Lista:
A variável numeros é inicializada com os inteiros de 1 a 10:
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - Operador de Módulo (%):
O operador % retorna o resto da divisão inteira. Para identificar se um número é par, verificamos se ele é divisível por 2 sem resto.
- Se x \% 2 == 0, então x é par.
- Se x \% 2 \neq 0, então x é ímpar.
- Função
filter() e lambda:
filter(funcao, iteravel): Retorna um objeto filtro contendo apenas os elementos que atendem à condição da função.lambda x: x % 2 == 0: É uma função anônima que recebe x e retorna True se x for par.
- Conversão para Lista:
Como filter() retorna um iterador, utilizamos list() para converter o resultado em uma lista visível.
Detalhamento da Execução
Ao percorrer a lista original, o filtro seleciona apenas os valores pares:
- 1 é ímpar (descartado)
- 2 é par (mantido)
- 3 é ímpar (descartado)
- 4 é par (mantido)
- 5 é ímpar (descartado)
- 6 é par (mantido)
- 7 é ímpar (descartado)
- 8 é par (mantido)
- 9 é ímpar (descartado)
- 10 é par (mantido)
Portanto, a variável numeros_pares contém:
[2, 4, 6, 8, 10]
As outras alternativas estão incorretas porque:
- A primeira opção contém apenas números ímpares.
- A terceira opção mantém todos os números originais.
- A quarta opção dobra os valores dos números pares ou estende a sequência incorretamente.
Alternativa B.