4.2 【基础】循环语句:for¶
for 循环可以遍历任何序列的项目,如一个列表或者一个字符串。
它的基本语法是
for 元素 in 序列对象:
代码块
1. 普通循环¶
直接上案例
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> for phone in phones:
... print("当前手机是: " + phone)
...
当前手机是: Apple
当前手机是: Huawei
当前手机是: Xiaomi
2. 带索引循环¶
如果想在循环的时候,把索引也取出来,可以加一个 enumerate
函数
>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>>
>>> for index,phone in enumerate(phones):
... print("我的第 {} 把手机是: {}".format(index+1, phone))
...
我的第 1 把手机是: Apple
我的第 2 把手机是: Huawei
我的第 3 把手机是: Xiaomi
3. break 中断¶
正常情况下,我们都需要 for
循环能够全部循环完,但在某些情况下,需要中断循环的执行,中断循环使用的是
break
关键字。
举个例子
>>> for i in [0, 1, 2]:
... if i == 1:
... print(f"当前的数是 {i}, 将退出循环")
... break
... print("当前的数是 " + str(i))
...
当前的数是 0
当前的数是 1, 将退出循环
4. continue 下一循环¶
在有些循环中,不需要把 for
的循环体内的代码全部执行完毕,这种情况下,可以使用 continue
关键字,直接进入下一循环。
举个例子,下面的循环中当 i 等于 1 时,就直接跳过了循环。
>>> for i in [0, 1, 2]:
... if i == 1:
... continue
... print("当前的数是 " + str(i))
...
当前的数是 0
当前的数是 2
5. for - else 循环¶
其实在 for 循环语句的后面,可以加一个 else 分支,当代码在 for 循环体中正常执行完,自然就会走到 else 分支中。
那么什么叫做 正常执行完 呢?就是只要不通过 break 语句中断的,都算正常执行完。
先以 continue 为例,所有的循环都非常正常,会走到 else 分支
>>> for i in [0, 1, 2]:
... if i == 1:
... continue
... print("当前的数是 " + str(i))
... else:
... print("循环非常正常")
...
当前的数是 0
当前的数是 2
循环非常正常
再把 continue
改成 break
后,发现不会走到 else 分支
>>> for i in [0, 1, 2]:
... if i == 1:
... break
... print("当前的数是 " + str(i))
... else:
... print("循环非常正常")
...
当前的数是 0