En Python, y a-t-il une différence entre la création d'un objet générateur par l'intermédiaire d'un fichier expression de générateur par rapport à l'utilisation du rendement déclaration ?
Utilisation de rendement :
def Generator(x, y):
for i in xrange(x):
for j in xrange(y):
yield(i, j)
Utilisation de expression de 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.
Y a-t-il des avantages à l'un ou à l'autre ? Vous avez des idées ?
2 votes
Choisissez celui qui vous semble le plus lisible.