All about for Loops in Python
2023-09-17 22:15:12
在Python中,for循环用于迭代序列类型,如list、tuple、set、range等。 与其他编程语言不同,它不能用于重复执行某些代码。
for
循环的主体为序列中的每个成员元素执行。因此,它不需要显式验证控制循环的布尔表达式(如在 while 循环中)。
for x in sequence: statement1 statement2 ... statementN
首先,for 语句中的变量x
引用序列中 0 索引处的项。
将执行在:
符号之后增加统一缩进的语句块。变量x
现在引用下一项并重复循环主体,直到序列耗尽。
下面的示例演示了带有 list 对象的 for 循环。
nums = [10, 20, 30, 40, 50]
for i in nums:
print(i)
输出:
10
20
30
40
50
下面演示了带有元组对象的 for 循环。
nums = (10, 20, 30, 40, 50)
for i in nums:
print(i)
输出:
10
20
30
40
50
任何 Python 序列数据类型的对象都可以使用 for 语句进行迭代。
for char in 'Hello':
print (char)
输出:
H
e
l
l
o
以下for
循环使用 items() 方法循环访问dictionary。
numNames = { 1:'One', 2: 'Two', 3: 'Three'}
for pair in numNames.items():
print(pair)
输出:
(1, 'One')
(2, 'Two')
(3, 'Three')
键值 paris 可以在 for
循环中解压缩为两个变量,以分别获取键和值。
numNames = { 1:'One', 2: 'Two', 3: 'Three'}
for k,v in numNames.items():
print("key = ", k , ", value =", v)
输出:
key = 1, value = One
key = 2, value = Two
key = 3, value = Three
带有 range() 函数的 For 循环
range
类是不可变的序列类型。range()返回可与for
循环一起使用的range
对象。
for i in range(5):
print(i)
输出:
0
1
2
3
4
退出 For 循环
在某些情况下,可以使用 break
关键字停止和退出 for 循环的执行,如下所示。
for i in range(1, 5):
if i > 2 :
break
print(i)
输出:
1
2
继续下一次迭代
使用continue
关键字跳过当前执行,并在某些条件下使用 continue
关键字继续下一次迭代,如下所示。
for i in range(1, 5):
if i > 3:
continue
print(i)
输出:
1
2
3
对于带有 Else 块的循环
else
块可以遵循for
循环,该循环将在for
循环结束时执行。
for i in range(2):
print(i)
else:
print('End of for loop')
输出:
0
1
End of for loop
Nested for Loop
如果一个循环(for 循环或 while 循环)在其主体块中包含另一个循环,我们说这两个循环是嵌套的。如果外循环设计为执行 m 次迭代,而内循环设计为执行 n 次重复, 内部循环的主体块将被执行 m X n 次。
for x in range(1,4):
for y in range(1,3):
print('x = ', x, ', y = ', y)
输出:
x = 1, y = 1
x = 1, y = 2
x = 2, y = 1
x = 2, y = 2
x = 3, y = 1
x = 3, y = 2