完整的for循环语法

在python中完整的for循环的语法如下:
for 变量 in 集合:
循环体代码
else:
没有通过break退出循环,循环结束后,会执行的代码

如果for循环的代码通过brank跳出循环,就不会执行else

例子
for num in [1,2,3]:
    print(num)
    if num==2:
        break
else:
   #如果循环体内部使用break退出循环,else的代码就不会被执行
    print("代码会执行吗?")

print("循环结束")

运行结果:

1
2
循环结束
应用场景

在迭代遍历嵌套的数据类型时,例如:一个列表包含了多个字典
需求:要判断 某一个字典中是否存在指定的值
如果存在,提示并且退出循环
如果不存在,在循环体结束后,希望得到一个统一的提示

students=[{"name":"zhangsan"},{"name":"lisi"},{"name":"wangwu"}]

find_name="yyyy"

for student in students:
    if find_name==student.get("name"):
        print("找到了")
        break
else:
    print("没有找到")

for else的应用场景就是:对一个集合的元素处理,如果还需要处理if条件以外的情况,就可以使用for else

#循环遍历一个列表,选出列表的元素都是奇数的列表

all_num=[[1,2,3],[3,5,7],[4,5,8],[9,5,7]]
lst_num=[]
for num in all_num:
    for value in num:
        if value%2==0:
            break
    else:
        lst_num.append(num)

print(lst_num)

运行结果;

[[3, 5, 7], [9, 5, 7]]

如果不使用for else循环,使用使用一个变量来标记,遍历完成后,是否找到或者是否没有找到

all_num=[[1,2,3],[3,5,7],[4,5,8],[9,5,7]]
lst_num=[]

for num in all_num:
    flag=False
    for value in num:
        if value%2==0:
            flag=True
    if not flag:
        lst_num.append(num)

print(lst_num)
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐