Python · Intermediário · Inglês · Técnico
generator expression
Expressão entre parênteses, parecida com a list comprehension, que produz os itens sob demanda em vez de criar a lista inteira. Gasta pouca memória.
Onde usar
Aparece como argumento de funções como sum, any e max, por exemplo sum(x * x for x in dados). Em dados grandes, trocar os colchetes por parênteses economiza memória.
Em código
dados = range(1, 4)
print(sum(x * x for x in dados))
g = (x for x in dados)
print(list(g), list(g))Exemplos
Pass a generator expression to sum instead of building a list.
Passe uma generator expression para sum em vez de montar uma lista.
It's a generator expression, so you can only iterate once.
É uma generator expression, então você só itera uma vez.
Cuidado
Uma generator expression só pode ser percorrida uma vez; guardá-la numa variável e usá-la duas vezes faz a segunda sair vazia.
Sinônimos
expressão geradora