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
循环时,有一些常见的注意事项,以避免逻辑错误或效率低下:
- 避免修改可迭代对象:在
for
循环中修改正在迭代的对象(如添加或删除元素)可能导致循环行为异常。 - 合理使用
range()
和enumerate()
:当需要索引时使用enumerate()
,避免手动维护索引。 - 避免嵌套过深:多层嵌套会导致代码复杂且难以维护,尽量优化循环结构。