假设我有一个发电机。是否有比我提供的示例更 Python 或更简单的方式来修改 gen 的值?
def genwrap(gen):
for value in gen:
yield(somefunc(value))
gen = somegenerator
for x in genwrap(gen):
print x
假设我有一个发电机。是否有比我提供的示例更 Python 或更简单的方式来修改 gen 的值?
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)