Sobes.tech
Junior — Middle

Aký je rozdiel medzi filtrom a odloženým spracovaním v programovaní?

sobes.tech AI

Odpoveď od AI

Filtrovanie a odložené spracovanie sú odlišné koncepty:

  • Filter: je operácia, ktorá okamžite aplikuje podmienku na údaje a vráti iba tie prvky, ktoré túto podmienku spĺňajú. Napríklad v Pythone filter() vracia iterátor s filtrovanými prvkami.

  • Odložené spracovanie (lenivé hodnotenie): je situácia, keď sa výpočty nevykonávajú okamžite, ale odkladajú sa, kým naozaj nie sú potrebné. Napríklad generátory v Pythone vytvárajú prvky jeden po druhom počas iterácie, nie všetky naraz.

Príklad:

# Filter s lenivým hodnotením
nums = range(10)
filtered = filter(lambda x: x % 2 == 0, nums)  # filter vracia iterátor

for num in filtered:
    print(num)  # prvky sa počítajú a vypisujú počas iterácie

Tu filter a lenivosť spolupracujú: filter stanoví podmienku, a generátor/iterátor zabezpečuje odložené spracovanie.