Programador Leigo
⚡ 60 segundos funcoes

Generator expressions: economia de memória

Generators processam um item por vez sem carregar tudo na memória. Troque [ ] por ( ) e pronto.

generator.py
# List comprehension: tudo na memoria
soma_list = sum([x**2 for x in range(1000000)])

# Generator: um por vez (muito menos memoria)
soma_gen = sum(x**2 for x in range(1000000))

print(soma_gen)  # 333332833333500000

# Util com any/all
nomes = ['Ana', 'Bia', 'Carlos']
tem_longo = any(len(n) > 5 for n in nomes)
print(tem_longo)  # True (Carlos)

Compartilhar