【发布时间】:2010-10-10 20:36:17
【问题描述】:
我是 Python 的 for...else syntax 的忠实粉丝——令人惊讶的是它的适用频率以及它在简化代码方面的效率。
但是,我还没有想出在生成器中使用它的好方法,例如:
def iterate(i):
for value in i:
yield value
else:
print 'i is empty'
在上面的示例中,我希望仅当 i 为空时才执行 print 语句。但是,由于else 只尊重break 和return,所以不管i 的长度如何,它总是会被执行。
如果无法以这种方式使用for...else,那么最好的方法是什么,以便仅在没有任何结果时执行print 语句?
【问题讨论】:
标签: python syntax for-loop generator yield