13.1 for 循环的基本语法(掌握)

for 循环用于从一个可迭代对象中逐一提取元素,并在循环体中对每个元素执行操作。基本语法如下:

  • 语法

    for 变量 in 可迭代对象:
        代码块
  • 示例

    fruits = ["apple", "banana", "cherry"]
    for fruit in fruits:
        print(fruit)

    在上面的示例中,for 循环依次提取 fruits 列表中的每一个元素,并打印出来。


13.2 使用 range() 函数进行数值循环(掌握)

range() 函数用于生成一系列数字,常用于指定循环的次数,生成的数字序列为左闭右开区间 [start, stop)

13.2.1 基本用法

  • 语法

    range(stop)
    range(start, stop)
    range(start, stop, step)
  • 示例

    # 从0到4的序列
    for i in range(5):
        print(i)  # 输出 0, 1, 2, 3, 4
    
    # 从2到6的序列
    for i in range(2, 7):
        print(i)  # 输出 2, 3, 4, 5, 6
    
    # 从1到9,每隔2步
    for i in range(1, 10, 2):
        print(i)  # 输出 1, 3, 5, 7, 9

13.3 遍历字符串(掌握)

字符串是一个字符序列,可以直接使用 for 循环逐个访问其中的字符。

  • 示例

    text = "Python"
    for char in text:
        print(char)

    在上面的代码中,for 循环逐个访问字符串 text 中的每一个字符并打印。


13.4 遍历列表和元组(掌握)

列表和元组都是可迭代对象,可以使用 for 循环逐个访问它们的元素。

  • 示例

    numbers = [1, 2, 3, 4, 5]
    for num in numbers:
        print(num)
  • 元组遍历示例

    items = (10, 20, 30)
    for item in items:
        print(item)

13.5 遍历字典(掌握)

字典是键值对的集合,可以使用 for 循环来遍历键、值或键值对。

13.5.1 遍历键

  • 示例

    person = {"name": "aini", "age": 23}
    for key in person:
        print(key)  # 输出 "name" 和 "age"

13.5.2 遍历值

  • 示例

    for value in person.values():
        print(value)  # 输出 "aini" 和 23

13.5.3 遍历键值对

  • 示例

    for key, value in person.items():
        print(f"{key}: {value}")  # 输出 "name: aini" 和 "age: 23"

13.6 嵌套的 for 循环(掌握)

for 循环内部可以嵌套另一个 for 循环,通常用于处理二维数据结构(如列表嵌套列表)。

  • 示例

    matrix = [
        [1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]
    ]
    for row in matrix:
        for element in row:
            print(element, end=" ")  # 输出 1 2 3 4 5 6 7 8 9
        print()  # 换行

在上面的代码中,外层循环遍历每一行,内层循环遍历每行中的每一个元素。


13.7 使用 enumerate() 函数获取索引和元素(掌握)

enumerate() 函数用于在 for 循环中同时获取元素的索引和元素本身,适合在遍历时需要索引的场景。

  • 示例

    fruits = ["apple", "banana", "cherry"]
    for index, fruit in enumerate(fruits):
        print(f"{index}: {fruit}")

    输出:

    0: apple
    1: banana
    2: cherry

13.8 使用 zip() 函数并行遍历多个列表(掌握)

zip() 函数用于将多个可迭代对象组合成一个迭代器,以便在 for 循环中并行遍历多个序列。

  • 示例

    names = ["aini", "zhang", "li"]
    ages = [23, 25, 30]
    for name, age in zip(names, ages):
        print(f"{name} is {age} years old.")

    输出:

    aini is 23 years old.
    zhang is 25 years old.
    li is 30 years old.

13.9 列表生成式中的 for 循环(掌握)

列表生成式(List Comprehension)是一种简洁的生成列表的方法,通常用来将 for 循环和条件判断结合起来生成新的列表。

  • 基本语法

    [表达式 for 变量 in 可迭代对象 if 条件]
  • 示例

    squares = [x**2 for x in range(1, 6)]
    print(squares)  # 输出 [1, 4, 9, 16, 25]

13.10 for-else 语句(了解)

for-else 语句中的 else 块会在 for 循环正常完成后执行,如果循环被 break 语句提前终止,则不执行 else 块。该语句结构相对少用。

  • 示例

    numbers = [1, 2, 3, 4, 5]
    for num in numbers:
        if num == 3:
            print("Found 3!")
            break
    else:
        print("3 not found.")

    在上面的代码中,for 循环因 break 终止,else 块不会执行。


13.11 for 循环的注意事项(了解)

在编写 for 循环时,有一些常见的注意事项,以避免逻辑错误或效率低下:

  1. 避免修改可迭代对象:在 for 循环中修改正在迭代的对象(如添加或删除元素)可能导致循环行为异常。
  2. 合理使用 range()enumerate():当需要索引时使用 enumerate(),避免手动维护索引。
  3. 避免嵌套过深:多层嵌套会导致代码复杂且难以维护,尽量优化循环结构。
结束

本文标题: Python3学习笔记第十三篇--for循环

本文链接: https://blog.oyooy.com/archives/59.html

除非另有说明,本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

声明:转载请注明文章来源。

最后修改:2025 年 02 月 08 日
如果觉得我的文章对你有用,请随意赞赏