📅  最后修改于: 2023-12-03 15:15:10.183000             🧑  作者: Mango
在Python编程中,for
循环是一种重复执行相同代码块的迭代工具。 for
循环一般用于遍历序列类型(如列表、元组、字符串)或其他可迭代对象(如文件)。其语法如下所示:
for 变量 in 序列:
代码块1 #需要执行的语句
else:
代码块2 #在循环结束后执行的语句
其中,变量
是在执行循环时用于保存序列中每个元素的变量名。序列
可以是一个序列类型如列表、元组或字符串,也可以是其他可迭代对象。代码块1
是在每次迭代中执行的代码块,循环将依次遍历序列中的每个元素,每当遍历到一个元素时都会将该元素赋值给 变量
,因此我们就可以在 代码块1
中使用该变量了。在循环结束后,可以使用 else
语句,在 else
后面的 代码块2
中执行代码。
下面的程序演示了如何使用 for
循环遍历一个列表:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
该程序会使用 for
循环遍历 fruits
列表中的每一个元素,并将其赋值给 fruit
变量。 在每次迭代中,print()
函数将会输出相应的水果名称。
下面的程序演示了如何在元组中使用 for
循环:
numbers = (1, 2, 3, 4, 5)
for number in numbers:
print(number)
该程序会使用 for
循环遍历 numbers
元组中的每一个元素,并将其赋值给 number
变量。 在每次迭代中,print()
将会输出相应的数字。
下面的程序演示了如何在字符串中使用 for
循环:
language = "Python"
for char in language:
print(char)
该程序会使用 for
循环遍历 language
字符串中的每一个字符,并将其赋值给 char
变量。 在每次迭代中,print()
将会输出相应的字符。
除了 for
循环遍历列表、元组和字符串等可迭代对象外,还可以用它作为一个计数器进行遍历。 下面的程序演示了如何使用 for
循环作为计数器:
for i in range(5):
print(i)
该程序使用 for
循环遍历一个 range(5)
对象,并将迭代的次数赋值给 i
变量。 range(5)
对象中含有五个元素,分别是 0
、1
、2
、3
和 4
。因此,迭代五次,分别输出相应的数字。
for
循环可以嵌套,也就是在 for
循环内部再添加另一个 for
循环,可以用来遍历多维数组或矩阵等数据结构。 下面的程序演示了如何使用嵌套的 for
循环遍历一个二维数组:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row in matrix:
for num in row:
print(num)
该程序使用两个 for
循环。外层循环遍历 matrix
列表中的每一行,内层循环遍历每一行中的元素。 在每个迭代中,print()
函数输出相应的数字。
在 for
循环中,还可以使用以下三种控制语句来改变循环执行的方式:
break
语句:跳出循环,终止执行。如果在循环过程中遇到 break
语句,则跳出循环,不再执行后续迭代。continue
语句:跳过本次循环,继续执行下一次循环。如果在循环过程中遇到 continue
语句,则跳过本次循环,直接继续执行下一次迭代。pass
语句:不执行任何操作,只是占位符。如果在循环过程中没有需要执行的语句,则可以使用 pass
语句站位。我们可以在 for
循环语句块内通过这三种语句对程序进行调控。
下面是一个 for
循环的例子,它使用嵌套的循环遍历一个列表,并在特定条件下跳过某些迭代。
animals = ["dog", "cat", "elephant", "giraffe", "dog", "lion", "tiger"]
for animal in animals:
if animal == "dog":
continue # 跳过狗的迭代
elif animal == "lion":
break # 如果遇到狮子,退出循环
print(animal)
else:
print("All animals have been printed.")
该程序使用 continue
语句跳过了所有狗的迭代,并使用 break
语句在遇到狮子后退出了循环。 在循环结束后,如果没有使用 break
跳出循环,则代码块2将会执行。