В Python есть ли разница между созданием объекта- генератора с помощью выражения генератора и использованием оператора yield ?
Использование yield :
def Generator(x, y):
for i in xrange(x):
for j in xrange(y):
yield(i, j)
Использование выражения генератора :
def Generator(x, y):
return ((i, j) for i in xrange(x) for j in xrange(y))
Обе функции возвращают объекты-генераторы, которые создают кортежи, например (0,0), (0,1) и т. Д.
Какие преимущества того или другого? Мысли?
Спасибо всем! В этих ответах много полезной информации и дополнительных ссылок!