In Python, c'è qualche differenza tra la creazione di un oggetto generatore tramite un'espressione generatore e l'utilizzo dell'istruzione yield ?
Utilizzando la resa :
def Generator(x, y):
for i in xrange(x):
for j in xrange(y):
yield(i, j)
Utilizzando l' espressione del generatore :
def Generator(x, y):
return ((i, j) for i in xrange(x) for j in xrange(y))
Entrambe le funzioni restituiscono oggetti generatori, che producono tuple, ad esempio (0,0), (0,1) ecc.
Qualche vantaggio dell'uno o dell'altro? Pensieri?
Grazie a tutti! Ci sono molte ottime informazioni e ulteriori riferimenti in queste risposte!