ExpertiDict

Python · Intermediário · Inglês · Técnico

generator expression

/ˈdʒɛnəˌɹeɪɾɚ ɪkˈspɹɛʃən/substantivo

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

Veja também

Todos os termos de Python