您对for / else的语义是错误的。else子句仅在循环完成后才运行,例如,如果未遇到break语句。
典型的for / else循环如下所示:
for x in seq: if cond(x): breakelse: print "Didn't find an x I liked!"
将“ else”与循环主体中的所有“ if”配对。您的样本是相同的,但是混合使用“ break”语句,则不是。
对相同想法的详细说明:http :
//nedbatchelder.com/blog/201110/forelse.html



