Python 的 for 循环用于遍历一个可迭代对象(如列表、元组、字符串、字典、集合等)中的元素。for 循环的语法简洁,适合用于迭代数据结构中的元素。下面是关于 Python for 循环的详细介绍。

基本语法

for element in iterable:
    # 执行的代码
  • element 是变量,每次迭代时,element 会被赋予 iterable 中当前元素的值。
  • iterable 是一个可迭代对象,表示你要遍历的对象(如列表、元组、字符串等)。

示例 1:遍历列表

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)

输出:

apple
banana
cherry

示例 2:遍历字符串

word = "hello"

for letter in word:
    print(letter)

输出:

h
e
l
l
o

示例 3:使用 range() 函数

range() 是一个内置函数,它返回一个可迭代的对象,通常用于生成数字序列。range() 可以单独使用,也可以指定起始值、结束值和步长。

for i in range(5):  # 从0到4
    print(i)

输出:

0
1
2
3
4

你也可以指定起始值和步长:

for i in range(2, 10, 2):  # 从2到9,步长为2
    print(i)

输出:

2
4
6
8

示例 4:遍历字典

字典是一种键值对集合,你可以遍历字典的键、值或者键值对。

  • 遍历字典的键:
person = {"name": "Alice", "age": 30, "city": "New York"}

for key in person:
    print(key)

输出:

name
age
city
  • 遍历字典的值:
for value in person.values():
    print(value)

输出:

Alice
30
New York
  • 遍历字典的键值对:
for key, value in person.items():
    print(key, value)

输出:

name Alice
age 30
city New York

示例 5:嵌套 for 循环

你还可以在 for 循环中嵌套另一个 for 循环,适用于需要遍历多维数据结构(如列表的列表)时。

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

for row in matrix:
    for num in row:
        print(num, end=" ")
    print()  # 换行

输出:

1 2 3 
4 5 6 
7 8 9 

示例 6:for 循环与 else 语句

Python 允许在 for 循环后使用 else 子句。else 部分会在循环正常结束时执行。如果循环是由于 break 语句被提前中断的,else 部分则不会执行。

for i in range(5):
    print(i)
else:
    print("Loop finished.")

输出:

0
1
2
3
4
Loop finished.

如果使用 break 提前退出循环:

for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("Loop finished.")

输出:

0
1
2

这里 else 部分不会执行,因为 break 语句中断了循环。

示例 7:for 循环与 continue 语句

continue 语句用于跳过当前循环中的剩余代码,直接进入下一次迭代。

for i in range(5):
    if i == 3:
        continue  # 跳过3
    print(i)

输出:

0
1
2
4

总结

  • for 循环的主要用途是遍历可迭代对象。
  • range() 用于生成一系列数字,通常与 for 循环一起使用。
  • 可以通过嵌套 for 循环来遍历多维数据结构。
  • elsecontinue 语句可以与 for 循环结合使用,提供更复杂的控制流。

Python 的 for 循环是一种非常灵活和强大的工具,能帮助你高效地处理各种数据结构和任务。