Python for 循环的用法介绍
1. 什么是循环
在编程中,循环是一种重复执行一段代码的结构。它可以使代码块多次执行,直到满足某个条件后终止。循环是编写高效且紧凑的代码的重要组成部分,能够简化复杂的任务。
在 Python 中,有多种类型的循环结构可供选择。其中最常用的一种是 for
循环,我们将在本文中详细介绍它的用法。
2. for 循环基本语法
在 Python 中,使用 for
和 in
关键字结合使用来创建一个 for 循环。
for 变量 in 可迭代对象:
# 执行的代码块
这里的 变量
是一个新变量,用来依次存储来自可迭代对象的值。可迭代对象
可以是列表、元组、字符串、集合、字典等。在每次循环迭代时,会将可迭代对象的下一个元素赋值给 变量
,然后执行 代码块
中的代码。
3. 使用 range() 函数迭代数字
range()
函数是 Python 提供的一种快速生成数字序列的方法。它返回一个可迭代的整数序列,常用于 for 循环中。
3.1 基本用法
range()
函数可以接受一个或多个参数,用来控制生成的数字序列的起始值、终止值和步长。
# 生成一个从 0 到 9 的整数序列
for i in range(10):
print(i)
输出:
0
1
2
3
4
5
6
7
8
9
在这个例子中,range(10)
生成了一个从 0 到 9 的整数序列,然后被 for 循环逐一迭代并输出。
3.2 指定起始值和终止值
# 生成一个从 1 到 5 的整数序列
for i in range(1, 6):
print(i)
输出:
1
2
3
4
5
在这个例子中,range(1, 6)
生成了一个从 1 到 5 的整数序列。
3.3 指定步长
# 生成一个从 0 到 9,步长为 2 的整数序列
for i in range(0, 10, 2):
print(i)
输出:
0
2
4
6
8
在这个例子中,range(0, 10, 2)
生成了一个从 0 到 9,步长为 2 的整数序列。
3.4 反向迭代
# 生成一个从 10 到 1 的整数序列
for i in range(10, 0, -1):
print(i)
输出:
10
9
8
7
6
5
4
3
2
1
在这个例子中,range(10, 0, -1)
生成了一个从 10 到 1 的整数序列。
4. 循环遍历字符串和列表
除了数字序列外,我们还可以使用 for 循环遍历字符串和列表。
4.1 遍历字符串
# 遍历字符串
for char in "Hello":
print(char)
输出:
H
e
l
l
o
在这个例子中,每次循环迭代时,char
变量将存储字符串中的一个字符,然后被输出。
4.2 遍历列表
# 遍历列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
输出:
apple
banana
cherry
在这个例子中,每次循环迭代时,fruit
变量将存储列表中的一个元素,然后被输出。
5. 循环遍历字典
我们还可以使用 for 循环遍历字典。
# 遍历字典的键
person = {
"name": "John",
"age": 30,
"country": "USA"
}
for key in person:
print(key)
输出:
name
age
country
在这个例子中,key
变量将依次存储字典的键,并被输出。
如果我们想要遍历字典的值,可以使用 values()
方法:
# 遍历字典的值
for value in person.values():
print(value)
输出:
John
30
USA
如果我们想要同时遍历字典的键和值,可以使用 items()
方法:
# 遍历字典的键和值
for key, value in person.items():
print(key, value)
输出:
name John
age 30
country USA
6. 循环控制语句
for
循环还可以与其他控制语句搭配使用,以实现更灵活的循环控制。
6.1 break 语句
break
语句用于在循环执行过程中提前终止循环。当满足某个条件时,使用 break
关键字可以立即退出循环。
for i in range(10):
if i == 5:
break
print(i)
输出:
0
1
2
3
4
在这个例子中,当 i
等于 5 时,break
语句被执行,循环立即终止。
6.2 continue 语句
continue
语句用于跳过本次循环,继续执行下一次循环。
for i in range(10):
if i % 2 == 0:
continue
print(i)
输出:
1
3
5
7
9
在这个例子中,当 i
是偶数时,continue
语句被执行,本次循环内的剩余代码被跳过,直接进入下一次循环。
6.3 else 语句
for
循环还可以和 else
语句搭配使用。当循环中的元素都被迭代完毕后,else
语句会被执行。
for i in range(5):
print(i)
else:
print("Loop finished")
输出:
0
1
2
3
4
Loop finished
在这个例子中,for
循环迭代了范围为 0 到 4 的数字序列,并输出了每个数字。当循环结束后,else
语句被执行,输出 “Loop finished”。
6.4 嵌套循环
在 Python 中,我们可以在一个循环中嵌套另一个循环。这种嵌套循环的结构非常有用,可以处理复杂的问题。
for i in range(3):
for j in range(3):
print(i, j)
输出:
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2
在这个例子中,外层的循环从 0 到 2 循环迭代,内层的循环也从 0 到 2 循环迭代。通过这种嵌套的结构,我们可以输出所有可能的组合。
7. 常见应用场景
使用 for
循环可以方便地处理一些常见的应用场景,以下是一些常见示例。
7.1 计算列表元素和
numbers = [1, 2, 3, 4, 5]
sum = 0
for num in numbers:
sum += num
print(sum)
输出:
15
在这个例子中,我们使用 for
循环遍历列表,将列表中的每个元素加到 sum
变量上,最后输出结果。
7.2 查找列表中的最大值和最小值
numbers = [3, 6, 9, 2, 5]
max_value = numbers[0]
min_value = numbers[0]
for num in numbers:
if num > max_value:
max_value = num
if num < min_value:
min_value = num
print(max_value, min_value)
输出:
9 2
在这个例子中,我们使用 for
循环遍历列表,通过比较更新 max_value
和 min_value
的值,最后输出最大值和最小值。
7.3 打印乘法表
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 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
在这个例子中,我们使用两层嵌套的 for
循环,通过打印每个乘法表达式来输出乘法表。
8. 总结
Python 中的 for
循环是一种非常实用的结构,可以用来遍历可迭代对象并执行特定的逻辑。我们可以使用 range()
函数来生成数字序列,也可以使用 for
循环遍历字符串、列表和字典。此外,还可以通过嵌套循环、循环控制语句和其他技巧来灵活地处理各种应用场景。