Imagem de fundo

Você está trabalhando em um projeto Python 3.X que exige a...

Você está trabalhando em um projeto Python 3.X que exige a implementação de um algoritmo que processa grandes quantidades de dados de forma eficiente. Para isso, você decide criar uma função que recebe uma lista de números inteiros e retorna uma nova lista com os números pares elevados ao quadrado e os números ímpares elevados ao cubo. Além disso, a função deve ter uma complexidade de tempo de O(n). Qual implementação atende a esses requisitos?


A

def process_numbers(numbers):

even_squared = [x**2 for x in numbers if

x % 2 == 0]

odd_cubed = [x**3 for x in numbers if x

% 2 != 0]

return even_squared + odd_cubed


B

def process_numbers(numbers):

result = []

for x in numbers:

if x % 2 == 0:

result.append(x**2)

else:

result.append(x**3)

return result


C

def process_numbers(numbers):

result = [x**2 if x % 2 == 0 else x**3 for x

in numbers]

return result


D

def process_numbers(numbers):

even_squared = list(filter(lambda x: x %

2 == 0, numbers))

odd_cubed = list(filter(lambda x: x % 2 !=

0, numbers))

return [x**2 for x in even_squared] +

[x**3 for x in odd_cubed]


E

def process_numbers(numbers):

even_squared = map(lambda x: x**2,

filter(lambda x: x % 2 == 0, numbers))

odd_cubed = map(lambda x: x**3,

filter(lambda x: x % 2 != 0, numbers))

return list(even_squared) +

list(odd_cubed)