使用递归实现n重for循环
时间: 2024-03-15 16:37:33 浏览: 22
可以使用递归实现n重for循环,具体实现方式如下:
```python
def n_for_loop(n, loop_list, func):
if n == 0:
func(loop_list)
return
for i in range(n):
loop_list.append(i)
n_for_loop(n-1, loop_list, func)
loop_list.pop()
```
其中,n表示for循环的层数,loop_list表示每层循环的变量列表,func表示每次循环结束后执行的函数。
例如,实现一个3重for循环,输出每次循环的变量:
```python
def print_loop_list(loop_list):
print(loop_list)
n_for_loop(3, [], print_loop_list)
```
输出结果为:
```
[0, 0, 0]
[0, 0, 1]
[0, 0, 2]
[0, 1, 0]
[0, 1, 1]
[0, 1, 2]
[0, 2, 0]
[0, 2, 1]
[0, 2, 2]
[1, 0, 0]
[1, 0, 1]
[1, 0, 2]
[1, 1, 0]
[1, 1, 1]
[1, 1, 2]
[1, 2, 0]
[1, 2, 1]
[1, 2, 2]
[2, 0, 0]
[2, 0, 1]
[2, 0, 2]
[2, 1, 0]
[2, 1, 1]
[2, 1, 2]
[2, 2, 0]
[2, 2, 1]
[2, 2, 2]
```