我创建了一个实用函数来从生成器表达式返回预期的单个项目
print one(name for name in ('bob','fred') if name=='bob')
这是一个很好的方法吗?
def one(g):
try:
val = g.next()
try:
g.next()
except StopIteration:
return val
else:
raise Exception('Too many values')
except StopIteration:
raise Exception('No values')