En Python, y a-t-il une différence entre la création d'un objet générateur via une expression de générateur et l'utilisation de l' instruction yield ?
En utilisant le rendement :
def Generator(x, y):
for i in xrange(x):
for j in xrange(y):
yield(i, j)
Utilisation de l' expression du générateur :
def Generator(x, y):
return ((i, j) for i in xrange(x) for j in xrange(y))
Les deux fonctions renvoient des objets générateurs, qui produisent des tuples, par exemple (0,0), (0,1) etc.
Des avantages de l'un ou de l'autre? Pensées?
Merci à tous! Il y a beaucoup d'informations intéressantes et d'autres références dans ces réponses!