1. for循环
在Python中,for循环是一种简洁高效的循环结构,尤其适合遍历可迭代对象(如列表、字符串、字典等)或控制代码重复执行的次数,相比while循环遍历列表时的繁琐代码,for循环能大幅简化操作。
从本质上来说,Python的for循环更接近其他编程语言中的foreach循环,它会依次取出可迭代对象中的每个元素,并执行循环体中的代码,直到所有元素都被处理完毕。
2. 遍历可迭代对象
for循环最常见的用法是直接遍历可迭代对象(无需手动管理索引),例如列表、字符串、元组等。
示例1:(遍历列表)
fruits = ["apple", "banana", "cherry"]
#遍历列表中的每个元素
for fruit in fruits:
print(fruit)
运行结果:
apple
banana
cherry示例2:遍历字符串(字符串也是可迭代对象,每个字符为一个元素)
message = "Hello"
for char in message:
print(char)
运行结果:
H
e
l
l
o3. 结合range对象控制循环次数
当需要让代码重复执行特定次数时,for循环可以与range对象配合使用。range用于生成一个整数序列,无需手动转换为列表(因为for循环会直接迭代其生成的序列)。
range的语法格式有三种:
- range(stop):生成从0到stop-1的整数序列(包含0,不包含stop)
- range(start, stop):生成从start到stop-1的整数序列(包含start,不包含stop)
- range(start, stop, step):生成从start到stop-1的整数序列,步长为step(每次递增 / 递减 step)
示例1:range (stop)—— 重复5次
#重复执行5次(生成0-4的序列)
for i in range(5):
print(f"循环第{i+1}次")
运行结果:
循环第1次
循环第2次
循环第3次
循环第4次
循环第5次示例2:range (start, stop)—— 指定起始和结束值
#生成2-5的序列(包含2,不包含6)
for num in range(2, 6):
print(num)
运行结果:
2
3
4
5示例3:range (start, stop, step)—— 指定步长
#生成1-9的奇数(步长为2,每次+2)
for odd in range(1, 10, 2):
print(odd)
运行结果:
1
3
5
7
9示例4:通过range遍历列表索引(如需同时获取索引和元素)
fruits = ["apple", "banana", "cherry"]
#先通过len()获取列表长度,再用range生成索引序列
for index in range(len(fruits)):
print(f"索引{index}:{fruits[index]}")
运行结果:
索引0:apple
索引1:banana
索引2:cherry4. 总结
for循环通过简洁的语法实现了对可迭代对象的遍历和固定次数的循环控制,是Python中使用频率极高的循环结构,相比while循环更适合处理 “已知迭代范围” 的场景。