Python 循环:高效遍历与重复执行的利器
文章目录
前言
在编程世界中,循环是一种不可或缺的控制结构,它能够让程序按照指定条件重复执行某段代码,极大地提高了代码的效率和复用性。Python 作为一门简洁而强大的编程语言,提供了两种主要的循环方式:for循环和while循环。本文将详细介绍这两种循环的用法、特点及适用场景,并通过丰富的示例帮助读者深入理解。
一、for 循环:遍历序列的得力助手
for循环是 Python 中用于遍历序列(如列表、元组、字符串、字典等)或其他可迭代对象的常用循环结构。它的语法简洁明了,能够按照顺序依次访问可迭代对象中的每个元素。
1.1基本语法
for循环的基本语法如下:
for 变量 in 可迭代对象:
循环体语句
其中,“变量” 会依次取可迭代对象中的每个值,“循环体语句” 则是每次取值后需要执行的代码块,注意循环体需要缩进(通常使用 4 个空格)。
1.2常见应用场景及示例
- 遍历列表:当需要对列表中的每个元素进行操作时,for循环是绝佳选择。
例如,计算列表中所有元素的总和:
numbers = [1, 2, 3, 4, 5]
total = 0
for num in numbers:
total += num
print("列表元素总和为:", total) # 输出:列表元素总和为:15
- 遍历字符串:字符串是由字符组成的可迭代对象,可使用for循环逐个访问字符。
例如,统计字符串中某个字符出现的次数:
message = "Hello, Python!"
count = 0
for char in message:
if char == 'o':
count += 1
print("字母'o'出现的次数:", count) # 输出:字母'o'出现的次数:2
- 遍历字典:字典有keys()、values()和items()等方法,可配合for循环遍历键、值或键值对。
例如,遍历字典的键值对:
student = {"name": "张三", "age": 18, "major": "计算机"}
for key, value in student.items():
print(f"{key}: {value}")
# 输出:
# name: 张三
# age: 18
# major: 计算机
- 使用 range () 函数:range()函数可生成一个整数序列,常与for循环配合用于指定循环次数。
range()函数有三种用法:range(stop)生成从 0 到 stop-1 的序列;range(start, stop)生成从 start 到 stop-1 的序列;range(start, stop, step)生成从 start 到 stop-1,步长为 step 的序列。
例如,打印 1 到 10 中的偶数:
for i in range(2, 11, 2):
print(i, end=" ") # 输出:2 4 6 8 10
二、while 循环:条件满足就执行
while循环用于在条件满足的情况下,重复执行循环体中的代码。只要条件为真,循环就会一直进行,直到条件变为假时才停止。
2.1基本语法
while循环的基本语法如下:
while 条件表达式:
循环体语句
在每次循环开始前,都会判断条件表达式的值。如果为True,则执行循环体;如果为False,则退出循环。
2.2常见应用场景及示例
- 指定条件下的重复操作:当需要在某个条件满足时持续执行操作时,可使用while循环。
例如,计算 1 到 100 的累加和:
sum_result = 0
num = 1
while num <= 100:
sum_result += num
num += 1
print("1到100的累加和为:", sum_result) # 输出:1到100的累加和为:5050
- 无限循环及终止方式:如果条件表达式始终为True,while循环就会成为无限循环。在实际开发中,可通过break语句在特定条件下终止无限循环。
例如,让用户输入数字,当输入 0 时停止:
while True:
number = int(input("请输入一个数字(输入0停止):"))
if number == 0:
break
print("你输入的数字是:", number)
2.3循环控制语句:改变循环的执行流程
在循环过程中,有时需要根据特定条件改变循环的执行流程,Python 提供了break和continue两种循环控制语句。
- break 语句:用于立即终止当前循环,并跳出循环体,继续执行循环后面的代码。
例如,在列表中查找某个元素,找到后立即停止查找:
fruits = ["apple", "banana", "orange", "grape"]
target = "orange"
for fruit in fruits:
if fruit == target:
print("找到目标水果:", fruit)
break
else:
print("未找到目标水果")
# 输出:找到目标水果:orange
- continue 语句:用于跳过当前循环中的剩余语句,直接进入下一次循环。
例如,打印 1 到 10 中的奇数:
for i in range(1, 11):
if i % 2 == 0:
continue
print(i, end=" ") # 输出:1 3 5 7 9
总结
for循环和while循环是 Python 中实现重复操作的重要工具。for循环更适合用于遍历可迭代对象,明确知道循环次数的场景;while循环则适用于在条件满足时持续执行操作,循环次数不确定的场景。合理运用循环控制语句break和continue,可以让循环更加灵活高效。掌握这两种循环的用法,能够帮助开发者编写更简洁、更高效的 Python 代码,轻松应对各种重复操作的需求。