python-for循环
文章目录
- 基本语法
- 重要特性
- 控制语句
- 遍历字典
- 嵌套循环
- enumerate()函数
- 列表推导式
- else子句
- 基本语法
- 工作原理
- 使用示例
- 注意事项
- 注意事项
- 与while循环的区别
for 循环是 Python 中另一种重要的循环结构,主要用于遍历序列(如列表、元组、字符串)或其他可迭代对象。
基本语法
for 变量 in 可迭代对象:# 循环体代码
简单示例:
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:print(fruit)
重要特性
1、遍历序列:可以遍历任何可迭代对象(列表、元组、字符串、字典、集合等)
2、range()函数:常用于生成数字序列
for i in range(5): # 0到4print(i)
3、else子句:for循环也可以有else块,在循环正常结束后执行
for i in range(3):print(i)
else:print("循环结束")
控制语句
1、break:立即退出整个循环
for letter in 'Python':if letter == 'h':breakprint(letter)
2、continue:跳过当前迭代,进入下一次循环
for num in range(5):if num == 3:continueprint(num)
遍历字典
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}# 遍历键
for key in person:print(key)# 遍历键值对
for key, value in person.items():print(f"{key}: {value}")
嵌套循环
for i in range(3):for j in range(2):print(f"i={i}, j={j}")
enumerate()函数
获取元素的值和索引。
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):print(f"索引 {index}: {fruit}")
列表推导式
for循环的简洁写法:
squares = [x**2 for x in range(10)]
else子句
在 Python 中,for 循环可以有一个可选的 else 子句,这是一个不太常见但很有用的特性。这种结构可以避免使用标志变量来跟踪循环是否被中断,使代码更加简洁。
基本语法
for item in iterable:# 循环体if condition:break
else:# 当循环没有被 break 终止时执行的代码
工作原理
1、else 子句中的代码只有在循环正常完成(即没有被 break 语句中断)时才会执行
2、如果循环被 break 终止,else 部分将被跳过
使用示例
- 搜索元素时使用
numbers = [1, 3, 5, 7, 9]
search_for = 4for num in numbers:if num == search_for:print("找到了")break
else:print("没找到") # 会执行这行
- 检查质数
n = 11
for i in range(2, n):if n % i == 0:print(f"{n} 不是质数")break
else:print(f"{n} 是质数") # 会执行这行
- 遍历文件行
with open('data.txt') as f:for line in f:if line.strip() == 'target':print("找到目标行")breakelse:print("没有找到目标行")
注意事项
else 子句与 for 循环对齐,不是与 if 语句对齐
注意事项
1、避免在循环中修改正在遍历的序列
2、for循环比while循环更适合已知迭代次数的情况
3、Python的for循环实际上是foreach循环(遍历可迭代对象)
与while循环的区别
特性 | for循环 | while循环 |
---|---|---|
使用场景 | 已知迭代次数/遍历序列 | 条件控制循环 |
初始化 | 自动处理 | 需要手动初始化 |
终止条件 | 遍历完序列自动结束 | 需要条件变为False |
修改循环变量 | 自动更新 | 需要手动更新 |
for循环通常更简洁,特别是在遍历序列时,而while循环更适合不确定循环次数的情况。