1. 什么是 for
循环?
for
循环是一种 遍历(iteration)结构,用于 按顺序迭代 序列(如 list
、tuple
、dict
、set
、str
等 可迭代对象)。
它相比 while
循环,更适用于 已知迭代次数或范围 的情况。
2. for
循环基本语法
for 变量 in 可迭代对象:
循环体
变量
:在每次循环时,依次获取可迭代对象中的元素。可迭代对象
:可以是list
、tuple
、dict
、set
、str
或 生成器。循环体
:每次迭代都会执行的代码块。
3. for
遍历不同数据类型
3.1 遍历 list
(列表)
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(f"我喜欢吃 {fruit}")
输出:
我喜欢吃 苹果
我喜欢吃 香蕉
我喜欢吃 橙子
3.2 遍历 tuple
(元组)
colors = ("红色", "蓝色", "绿色")
for color in colors:
print(f"颜色:{color}")
输出:
颜色:红色
颜色:蓝色
颜色:绿色
3.3 遍历 str
(字符串)
word = "Python"
for char in word:
print(char)
输出:
P
y
t
h
o
n
3.4 遍历 dict
(字典)
遍历 键
person = {"name": "张三", "age": 25, "city": "北京"}
for key in person:
print(key)
输出:
name
age
city
遍历 值
for value in person.values():
print(value)
输出:
张三
25
北京
遍历 键值对
for key, value in person.items():
print(f"{key}: {value}")
输出:
name: 张三
age: 25
city: 北京
3.5 遍历 set
(集合)
numbers = {1, 2, 3, 4}
for num in numbers:
print(num)
输出(顺序随机):
1
2
3
4
4. for
+ range()
生成数值序列
range(start, stop, step)
生成 整数序列,通常用于循环 固定次数 的情况。
for i in range(5): # 生成 0-4 的数字
print(i)
输出:
0
1
2
3
4
4.1 指定起始和结束
for i in range(2, 6): # 2, 3, 4, 5
print(i)
输出:
2
3
4
5
4.2 指定步长
for i in range(1, 10, 2): # 生成奇数
print(i)
输出:
1
3
5
7
9
4.3 倒序
for i in range(10, 0, -2): # 10 到 1,每次减 2
print(i)
输出:
10
8
6
4
2
5. break
语句 —— 提前终止循环
for i in range(1, 6):
if i == 3:
print("遇到 3,提前退出循环")
break
print(i)
输出:
1
2
遇到 3,提前退出循环
6. continue
语句 —— 跳过当前循环
for i in range(1, 6):
if i == 3:
print("跳过 3")
continue
print(i)
输出:
1
2
跳过 3
4
5
7. else
语句 —— 循环正常结束时执行
示例 1(正常结束):
for i in range(1, 4):
print(i)
else:
print("循环正常结束")
输出:
1
2
3
循环正常结束
示例 2(break
终止,不执行 else
):
for i in range(1, 4):
if i == 2:
break
print(i)
else:
print("循环正常结束")
输出:
1
8. pass
语句 —— 语法占位符
for i in range(5):
pass # 暂时不写逻辑
pass
语句 什么都不做,仅作为占位符,防止语法错误。
9. for
嵌套循环
九九乘法表
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}×{i}={i*j}", end="\t")
print()
输出:
1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
...
1×9=9 2×9=18 3×9=27 ... 9×9=81
10. for
生成列表/字典/集合(推导式)
列表推导式
squares = [x**2 for x in range(1, 6)]
print(squares)
输出:
[1, 4, 9, 16, 25]
字典推导式
squares_dict = {x: x**2 for x in range(1, 6)}
print(squares_dict)
输出:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
集合推导式
squares_set = {x**2 for x in range(1, 6)}
print(squares_set)
输出:
{1, 4, 9, 16, 25}
11. 总结
for
适用于 遍历可迭代对象,如list
、tuple
、dict
、set
、str
等。range()
生成 整数序列,常用于循环 固定次数 的情况。break
提前终止,continue
跳过当前循环。else
语句 仅在循环正常结束时 执行。for
可以 嵌套,适用于多层循环 (如九九乘法表)。- 推导式 可快速生成
list
、dict
、set
。
for
循环在 数据处理、文件读取、算法编写 等场景中广泛应用! 🚀
发表回复