您的位置:

优雅的终止python for循环

一、使用break语句

在for循环中使用break语句可以优雅的终止循环,break语句用于跳出当前循环语句,该语句后面的代码都不会执行。

for i in range(1, 11):
    if i == 5:
        break
    print(i)

执行以上代码,输出结果为:

1
2
3
4

以上代码中,在循环执行到i等于5时,break语句被执行,循环就提前终止了。

二、使用while循环

使用while循环可以达到与break相同的效果。通过改变循环条件,当条件不满足时退出循环。

i = 1
while i < 11:
    if i == 5:
        break
    print(i)
    i += 1

执行以上代码,输出结果为:

1
2
3
4

以上代码中,使用while循环代替for循环,当循环条件不满足时退出循环。

三、使用else语句

在for循环中使用else语句可以优雅地终止循环。当没有执行循环语句内部的break语句时,for循环执行完后会执行else语句。

for i in range(1, 11):
    if i == 15:
        break
    print(i)
else:
    print("循环执行完毕")

执行以上代码,输出结果为:

1
2
3
4
5
6
7
8
9
10
循环执行完毕

以上代码中,for循环没有执行break语句,所以else语句也会被执行。

四、使用enumerate()函数

在使用for循环时,如果还需要获取当前循环到第几个元素,可以使用enumerate()函数来获取。

words = ["apple", "banana", "cherry"]
for i, word in enumerate(words):
    if i == 1:
        break
    print(i, word)

执行以上代码,输出结果为:

0 apple

以上代码中,使用enumerate()函数获取当前循环到的元素位置,当位置为1时,使用break语句终止循环。

五、使用迭代器

python中任何一个可迭代对象都可以使用迭代器遍历,与for循环不同的是,迭代器可以使用next()函数手动获取下一个元素。使用try...except语句捕获StopIteration异常,当所有元素被遍历后终止循环。

words = ["apple", "banana", "cherry"]
iterator = iter(words)
while True:
    try:
        word = next(iterator)
        if word == "banana":
            break
        print(word)
    except StopIteration:
        break

执行以上代码,输出结果为:

apple

以上代码中,使用iter()函数将列表转换为迭代器,使用next()函数手动获取下一个元素,当元素为"banana"时,使用break语句终止循环。

六、使用函数封装代码

当需要优雅地终止多个for循环时,可以将代码封装成函数,使用return语句终止函数的执行。

def print_until_banana(words):
    for word in words:
        if word == "banana":
            return
        print(word)

words = ["apple", "banana", "cherry"]
print_until_banana(words)

执行以上代码,输出结果为:

apple

以上代码中,将代码封装成函数print_until_banana(),当元素为"banana"时,使用return语句终止函数的执行。

七、总结

本文介绍了优雅的终止python for循环的七种方式,包括使用break语句、使用while循环、使用else语句、使用enumerate()函数、使用迭代器以及使用函数封装代码。在实际开发中,选择合适的方式可以让代码更加简洁、优雅、可读性更强。