for语句

一个小时学会 Python
2023-05-08 23:00 · 阅读时长3分钟
小课

for语句和while语句一样,也是Python中非常重要的循环语句,它主要用于遍历序列,比如说列表(List)、元组(Tuple)、字典(Dictionary)和字符串,下面来看一些示例。

1list = ["hello", "python", "hi", "there"]
2for item in list:
3    print(item)
4
5tuple = (1, 2, 3, 4, 5)
6for item in tuple:
7    print(item)
8
9dicts = {"a": "Bob", "b": "Alice", "c": "Carol", "d": "Dave"}
10for k, v in dicts.items():
11    print(k, v)

除了直接遍历序列以外,for语句还经常与range函数一起使用,range函数用于根据参数生成一个序列,它的使用格式如下

range(start, stop, step)

下面来看一些示例。

for i in range(0, 4):
    print(i)
print("-----")

for i in range(0, 8, 2):
    print(i)
break

和while语句一样,for语句中也可以使用break。当在for语句中使用break时会直接退出循环体,并且不执行break后面的代码,下面看一个示例

tuple = (1, 2, 3, 4, 5)
for item in tuple:
    if item > 3:
        break
    print(item)
continue

和while语句一样,for语句中也可以使用continue跳过当前for循环一次,并且本次循环不执行continue后面的代码。注意它和break的区别,break是完全跳出循环,而continue仅跳过本次循环。下面看一个示例,使用continue实现打印1到10中不是3的倍数的整数。

for number in range(1, 11):
    if number % 3 == 0: 
        continue
    print(number)
print('finished')

和while语句一样,for语句还可以配合else使用,用于当序列遍历完时执行代码,格式如下

for x in sequence:
    代码...
else:
    代码...
后面的代码...

它的执行逻辑和上面的基本形式的for语句基本上一样,只有在遍历完序列时,会多执行else语句中的代码。

注意:else是只有在遍历完序列时退出循环才会执行,如果是通过break退出循环,将不会执行else中的代码

下面来看看使用示例。

1for i in range(10):
2    print(i)
3    i += 1
4else:
5    print("printed all items")
6print('finished')
7
8for i in range(10):
9    print(i)
10    break
11else:
12    print("printed all items")
13print('finished')
pythonforfor循环