在<Effective Python:编写高质量Python代码的59个有效方法>  这本书中并不推荐用 for else语句


因为它不符合 编程语言的基本语法, 事实上这种语句更像是


try:

    # ......

except:

    # ......

else:

    # ......

finally:

    # ......


的变型表法方法


但是在有些情况下这种句子会使字符串的查找更简单.


wKiom1exggOCGRIdAAA5ataOaUQ409.png-wh_50


这里面有三个for循环, 其中第二个循环中有个嵌套for ... else ... 语句


这种表达方法可做的事情 就是查找一个列表中是否包含另一个列表中的元素, 再举一个实际的例子--

注:  repr() 可以使输出的字符串自动加上引号

>>> list1 = ["apple","spirit","orange"]

>>> for i in list1:
...     print repr(i)
...
'apple'
'spirit'
'orange'

>>> items = ["app","spi","pac","tea"]
>>>

>>> for i in items:
...     for j in list1:
...         if j.find(i) != -1:
...             break
...     else:
...         print repr(i), "not found"
...

'pac' not found
'tea' not found

>>>