Sobes.tech
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.