Python中同时使用多个for循环
在Python中,我们可以使用多个for循环同时遍历多个可迭代对象。这种技巧可以大大简化代码,提高代码的可读性和可维护性。本文将介绍如何在Python中同时使用多个for循环,以及一些常见的应用场景。
1. 基本语法
在Python中,我们可以使用嵌套的for循环来实现同时遍历多个可迭代对象。下面是这种语法的基本形式:
for var1 in iterable1:
# 执行语句
for var2 in iterable2:
# 执行语句
# 执行语句
# 执行语句
在上面的代码中,iterable1
和iterable2
都是可迭代对象,var1
和var2
是遍历过程中的临时变量。在每次循环中,我们可以使用var1
和var2
来访问当前遍历到的元素。
2. 代码示例
下面我们通过一个具体的例子来演示如何同时使用多个for循环。
假设我们有两个列表list1
和list2
,分别存储了学生的姓名和成绩。我们希望打印出每个学生的姓名和对应的成绩。
list1 = ['Alice', 'Bob', 'Charlie']
list2 = [90, 85, 95]
for name in list1:
for score in list2:
print(f'{name}: {score}')
上面的代码中,外层的for循环遍历了list1
,内层的for循环遍历了list2
。在每次循环中,我们使用name
和score
来访问当前遍历到的姓名和成绩,并将它们打印出来。
运行上面的代码,我们会得到如下的输出结果:
Alice: 90
Alice: 85
Alice: 95
Bob: 90
Bob: 85
Bob: 95
Charlie: 90
Charlie: 85
Charlie: 95
从输出结果中可以看出,我们成功地打印出了每个学生的姓名和成绩。
3. 应用场景
同时使用多个for循环在实际开发中有许多应用场景。下面我们介绍几个常见的应用场景。
3.1. 列表合并
假设我们有两个列表list1
和list2
,我们希望将它们合并成一个新的列表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循环分别遍历list1
和list2
,并将两个元素相加的结果添加到list3
中。最后,我们打印出了list3
的内容。
运行上面的代码,我们会得到如下的输出结果:
[5, 6, 7, 6, 7, 8, 7, 8, 9]
从输出结果中可以看出,我们成功地将list1
和list2
合并成了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
的行。在每次循环中,我们使用j
和i
来访问当前遍历到的行和列,并将对应的元素添加到`