ジェネレーター gen があるとします。私が提供した例よりも、gen の値を変更するより Pythonic またはより単純な方法はありますか?
def genwrap(gen):
for value in gen:
yield(somefunc(value))
gen = somegenerator
for x in genwrap(gen):
print x
ジェネレーター gen があるとします。私が提供した例よりも、gen の値を変更するより Pythonic またはより単純な方法はありますか?
def genwrap(gen):
for value in gen:
yield(somefunc(value))
gen = somegenerator
for x in genwrap(gen):
print x
既に存在する関数を実際に適用している場合は、 を使用しますmap。それ以外の場合、これは問題なく、十分に単純な場合はジェネレーター式に短縮できます (例: (x + 1 for x in somegenerator))。
def genwrap(gen):
return (somefunc(val) for val in gen)
yieldステートメントでは括弧は必要ありません。
def genwrap(gen):
for value in gen:
yield somefunc(value)