一、嵌套循环的简介
在Python编程中,嵌套循环是一个非常重要的概念。它是指在循环体内,再嵌套另一个循环,用来实现多层循环控制,从而遍历数据、生成序列、筛选数据等操作。
嵌套循环的语法结构为:
for x in 元素1: for y in 元素2: #执行语句
其中,元素1和元素2可以是任意类型的Python对象,只要可以被迭代就可以使用。执行语句的内容可以是任意的Python代码。
下面展示一个简单的嵌套循环示例,用来实现打印九九乘法表:
for i in range(1, 10): for j in range(1, i+1): print(i, '*', j, '=', i*j, end='\t') print()
运行结果如下:
1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
二、遍历二维数组
在Python中,我们经常需要处理多维数组。如果是二维数组,我们就可以使用嵌套循环来遍历或者处理。
下面展示一个示例,用来计算一个二维数组中所有元素的和:
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] total = 0 for row in arr: for elem in row: total += elem print(total)
运行结果为:
45
三、生成嵌套列表
在Python中,我们也可以生成嵌套列表。这个需要使用到列表推导式,结合嵌套循环可以很方便地实现。
下面展示一个示例,用来生成一个2*3的嵌套列表:
lst = [[0 for j in range(3)] for i in range(2)] print(lst)
运行结果为:
[[0, 0, 0], [0, 0, 0]]
四、选择排序算法
选择排序是一种基本的排序算法,它的基本思路是每次从待排序元素中选择最小(或最大)的一个元素,将其放到已排序序列的末尾。在Python中,我们也可以使用嵌套循环来实现选择排序。
下面展示一个示例,用来对一个列表进行选择排序:lst = [5, 3, 8, 6, 4, 2, 7, 1] n = len(lst) for i in range(n-1): min_idx = i for j in range(i+1, n): if lst[j] < lst[min_idx]: min_idx = j lst[i], lst[min_idx] = lst[min_idx], lst[i] print(lst)
运行结果为:
[1, 2, 3, 4, 5, 6, 7, 8]
五、计算圆周率
计算圆周率是一个经典的计算问题,可以使用嵌套循环来进行实现。
下面展示一个示例,用来计算圆周率的值:
from random import random from math import sqrt n = 1000000 cnt = 0 for i in range(n): x = random() y = random() if sqrt(x**2 + y**2) < 1: cnt += 1 pi = 4 * cnt / n print(pi)
运行结果为:
3.142704
六、总结
嵌套循环是Python编程中一个非常实用的概念。它可以用来遍历多维数据、生成嵌套列表、实现排序算法等。掌握嵌套循环的基本语法结构,可以让我们的Python编程更加灵活和高效。