Junior — Middle
Qual é a diferença entre um filtro e um processamento diferido na programação?
sobes.tech IA
Resposta da IA
Filtro e processamento diferido são conceitos diferentes:
-
Filtro: é uma operação que aplica imediatamente uma condição aos dados e retorna apenas os elementos que satisfazem essa condição. Por exemplo, em Python,
filter()retorna um iterador com os elementos filtrados. -
Processamento diferido (avaliação preguiçosa): é quando os cálculos não são realizados imediatamente, mas são adiados até que o resultado seja realmente necessário. Por exemplo, os geradores em Python criam elementos um por um durante a iteração, não todos de uma vez.
Exemplo:
# Filtro com avaliação preguiçosa
nums = range(10)
filtered = filter(lambda x: x % 2 == 0, nums) # filter retorna um iterador
for num in filtered:
print(num) # os elementos são calculados e exibidos à medida que a iteração ocorre
Aqui, o filtro e a preguiça trabalham juntos: o filtro define a condição, e o gerador/iterador garante o processamento diferido.