1. 什么是 for 循环?

for 循环是一种 遍历(iteration)结构,用于 按顺序迭代 序列(如 listtupledictsetstr可迭代对象)。
它相比 while 循环,更适用于 已知迭代次数或范围 的情况。


2. for 循环基本语法

for 变量 in 可迭代对象:
    循环体

  • 变量:在每次循环时,依次获取可迭代对象中的元素。
  • 可迭代对象:可以是 listtupledictsetstr生成器
  • 循环体:每次迭代都会执行的代码块。

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 适用于 遍历可迭代对象,如 listtupledictsetstr 等。
  • range() 生成 整数序列,常用于循环 固定次数 的情况。
  • break 提前终止continue 跳过当前循环
  • else 语句 仅在循环正常结束时 执行。
  • for 可以 嵌套,适用于多层循环 (如九九乘法表)
  • 推导式 可快速生成 listdictset

for 循环在 数据处理、文件读取、算法编写 等场景中广泛应用! 🚀