Python for...else

来源:互联网 发布:主提女装淘宝店有吗 编辑:程序博客网 时间:2024/05/21 06:13

Python中的一个特殊语法,如果循环执行过程中没有break则执行else
一个例子如下:

for item in container:    if search_something(item):        # Found it!        process(item)        breakelse:    # Didn't find anything..    not_found_in_container()

可以发现这个操作主要是用在之前需要flag的情况下。比如输入一个数,在列表中进行匹配。
我们可以这么写

#!/usr/bin/pythonto_match = int(raw_input("Enter number:"))num_list = [1, 2, 3, 4]found_match = Falsefor idx, num in enumerate(num_list):    if num == to_match:        print "{} matches at Position {}".format(num, idx)        found_match = True        breakif not found_match:    print "No match found"

了解到for...else...的功能之后我们就可以改成

to_match = int(raw_input("Enter number:"))num_list = [1, 2, 3, 4]for idx, num in enumerate(num_list):    if num == to_match:        print "{} matches at Position {}".format(num, idx)        breakelse:    print "No match found"
原创粉丝点击