Python中的循环语句可以重复执行代码块,常见的循环语句有 for
和 while
循环。
for 循环
在 Python 中,for 循环可以通过遍历任何一个序列(例如列表和元组)或其他可迭代对象来重复执行代码块,其基本语法结构如下:
for variable in sequence:
# code block to execute
其中 sequence
可以是任何序列或其他可迭代对象。在每次迭代中,下一个值会被赋值给 variable
。代码块将重复执行,直到序列中的所有值都被遍历。
以下是一个遍历列表的示例:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
这段代码使用 for 循环打印出列表 fruits
中的每一个元素。
while 循环
在 Python 中,while 循环会重复执行代码块,直到条件变为 False。其基本语法结构如下:
while condition:
# code block to execute
在每次循环开始时,condition
都会被检查。只有在 condition
为 True 时,才会继续执行代码块。代码块将重复执行,直到 condition
变为 False。
以下是一个使用 while 循环的示例:
i = 1
while i < 6:
print(i)
i += 1
这段代码使用 while 循环打印出 1~5 的数字。
循环控制语句
Python 提供了一些循环控制语句,可以在循环体外部控制循环的执行。常用的包括:
break
:终止循环并跳出循环体continue
:跳过本次循环,继续执行下一次循环pass
:占据一个空操作的位置,用于未来可能需要的空结构
以下是一个使用循环控制语句的示例:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
if fruit == "banana":
continue
if fruit == "cherry":
break
print(fruit)
else:
print("All fruits have been printed.")
这段代码使用了 continue
和 break
语句。当 fruit 的值等于 "banana" 时,会跳过本次循环;当 fruit 的值等于 "cherry" 时,会终止循环。最后输出 else 中的内容。注意,else 只有在 for 循环完整遍历列表时才会被执行,如果 for 循环中使用了 break 语句,则 else 语句不会被执行。
range()函数
在 Python 中,可以使用内置函数 range()
来生成数字序列,常用于 for 循环中。range()
函数的基本语法结构如下:
range(start, stop, step)
其中 start
是起始值(默认为 0),stop
是结束值(不包括该值),step
是步长(默认为 1)。
例如:
for i in range(5):
print(i)
这段代码使用 range()
函数在 for 循环中生成数字序列 0~4。
需要注意的是, range()
函数返回的是一个 range 对象,而不是一个列表。如果需要使用列表,请使用 list()
函数进行强制类型转换。
enumerate()函数
在 Python 中, 可以使用内置函数 enumerate()
来同时访问列表的索引和元素值,常用于需要同时处理列表中索引和元素的场景。enumerate()
函数的基本语法结构如下:
enumerate(iterable, start=0)
其中 iterable
是一个可迭代对象(例如列表),start
是计数器的初始值(默认为 0)。
以下是一个使用 enumerate()
函数的示例:
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(index, fruit)
这段代码使用 enumerate()
函数同时输出了列表 fruits
中每个元素的值和其索引。
需要注意的是,enumerate()
函数返回的是一个枚举对象,可以使用 list()
函数进行强制类型转换。
循环嵌套
在 Python 中,可以将一个循环语句放置在另一个循环语句的内部,从而实现循环嵌套。嵌套的循环可以使用多重循环语句的形式,并且可以包含任何类型的循环语句。以下是一个使用循环嵌套的示例:
for i in range(3):
for j in range(2):
print(i, j)
这段代码使用了两个嵌套的循环语句,外层循环 i
从 0 到 2,内层循环 j
从 0 到 1。代码块重复执行 3x2=6 次,输出了所有组合的值。
需要注意的是,嵌套的循环语句可能导致代码复杂度增加,应当谨慎使用。