Python中同时使用多个for循环

在Python中,我们可以使用多个for循环同时遍历多个可迭代对象。这种技巧可以大大简化代码,提高代码的可读性和可维护性。本文将介绍如何在Python中同时使用多个for循环,以及一些常见的应用场景。

1. 基本语法

在Python中,我们可以使用嵌套的for循环来实现同时遍历多个可迭代对象。下面是这种语法的基本形式:

for var1 in iterable1:
    # 执行语句
    for var2 in iterable2:
        # 执行语句
    # 执行语句
# 执行语句

在上面的代码中,iterable1iterable2都是可迭代对象,var1var2是遍历过程中的临时变量。在每次循环中,我们可以使用var1var2来访问当前遍历到的元素。

2. 代码示例

下面我们通过一个具体的例子来演示如何同时使用多个for循环。

假设我们有两个列表list1list2,分别存储了学生的姓名和成绩。我们希望打印出每个学生的姓名和对应的成绩。

list1 = ['Alice', 'Bob', 'Charlie']
list2 = [90, 85, 95]

for name in list1:
    for score in list2:
        print(f'{name}: {score}')

上面的代码中,外层的for循环遍历了list1,内层的for循环遍历了list2。在每次循环中,我们使用namescore来访问当前遍历到的姓名和成绩,并将它们打印出来。

运行上面的代码,我们会得到如下的输出结果:

Alice: 90
Alice: 85
Alice: 95
Bob: 90
Bob: 85
Bob: 95
Charlie: 90
Charlie: 85
Charlie: 95

从输出结果中可以看出,我们成功地打印出了每个学生的姓名和成绩。

3. 应用场景

同时使用多个for循环在实际开发中有许多应用场景。下面我们介绍几个常见的应用场景。

3.1. 列表合并

假设我们有两个列表list1list2,我们希望将它们合并成一个新的列表list3

list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = []

for x in list1:
    for y in list2:
        list3.append(x + y)

print(list3)

上面的代码中,我们使用两个for循环分别遍历list1list2,并将两个元素相加的结果添加到list3中。最后,我们打印出了list3的内容。

运行上面的代码,我们会得到如下的输出结果:

[5, 6, 7, 6, 7, 8, 7, 8, 9]

从输出结果中可以看出,我们成功地将list1list2合并成了list3

3.2. 矩阵转置

假设我们有一个二维列表matrix,我们希望将它进行转置。

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

for i in range(len(matrix[0])):
    row = []
    for j in range(len(matrix)):
        row.append(matrix[j][i])
    transpose.append(row)

print(transpose)

上面的代码中,外层的for循环遍历了matrix的列,内层的for循环遍历了matrix的行。在每次循环中,我们使用ji来访问当前遍历到的行和列,并将对应的元素添加到`