Python知识学习08——for循环的else

在Python当中,存在一种比较特殊的语法for-else,该语法允许在for循环遍历一个列表时,在列表中已经没有未被遍历的元素时,执行else语句块当中的语句。

例:

1
2
3
4
5
names = ["Java", "Python", "Ruby", "C++"]
for lang in names:
print(lang)
else:
print("============")

输出:

1
2
3
4
5
Java
Python
Ruby
C++
============

我们也可以使用这个技巧避免使用flag标记法来判断一些逻辑。

例:

判断students列表中,是否存在nameJack的学生:

1
2
3
4
5
6
7
8
students = [{"name":"Rose", "age":"22"}, {"name":"Rose", "age":"19"}, {"name":"Peter", "age":"23"}]
find_name = "Rose" # 查询是否存在一个名为Rose学生
for stu in students:
if stu["name"] == find_name:
print("存在该名学生,该学生名为{},今年{}岁".format(stu["name"], stu["age"]))
break
else:
print("不存在该学生") # 若执行该条语句,说明列表students已经遍历结束,但尚未break跳出,则说明:未找到目标