引言
在Python编程中,循环结构是控制程序流程的重要组成部分,而for
循环则是其中最常用、最灵活的循环结构之一。与C/C++或Java等语言中的for
循环不同,Python的for
循环更接近于"foreach"循环,专门为遍历序列和可迭代对象而设计。本文将全面剖析Python中的for
循环,包括其基本语法、遍历各种序列的方法、range()
函数的使用技巧、迭代器协议以及性能优化建议,并通过丰富的代码示例和数据对比表格帮助读者深入理解。
一、Python for循环基础
1.1 基本语法结构
Python的for
循环语法简洁明了:
for 变量 in 可迭代对象:
# 循环体
else:
# 可选的else块,循环正常结束后执行(不包括break中断的情况)
1.2 与while循环的对比
特性 | for循环 | while循环 |
---|---|---|
适用场景 | 已知迭代次数或遍历序列 | 条件满足时重复执行 |
循环控制 | 自动处理迭代 | 需要手动更新循环条件 |
性能 | 通常更快 | 通常稍慢 |
可读性 | 遍历场景下更直观 | 条件循环场景下更合适 |
内存使用 | 取决于可迭代对象大小 | 通常更低 |
1.3 基本示例
# 遍历列表
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
print(fruit)
# 遍历字符串
for char in "Python":
print(char)
# 结合else语句
for i in range(3):
print(i)
else:
print("循环正常结束")
二、遍历各种序列类型
2.1 列表遍历
numbers = [1, 2, 3, 4, 5]
# 基本遍历
for num in numbers:
print(num * 2)
# 获取索引和值:enumerate()函数
for index, value in enumerate(numbers):
print(f"索引 {
index} 的值是 {
value}")
2.2 字典遍历
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 value in person.values():
print(value)
2.3 集合遍历
unique_numbers = {