这是我能想到的最好的方法:
def cfor(first,test,update): while test(first): yield first first = update(first)def example(blah): print "do some stuff" for i in cfor(0,lambda i:i<blah,lambda i:i+1): print i print "done"
我希望python对封闭表达式使用语法。
编辑: 另外,请注意,您只需要定义一次cfor(而不是您的
complicated_iterator函数)。



