Jon*_*sky 5 python loops dimensions
我有以下情况:
for x1 in range(x1, x2):
for x2 in range(x3, x4):
for x3 ...
...
f(x1, x2, x3, ...)
Run Code Online (Sandbox Code Playgroud)
如何将其转换为一种机制,在这种机制中我只告诉python制作n个嵌套循环,其中变量名是x1,x2,x3,x4,...?我当然不想手动编写所有可能性,因为可能有很多维度.
你想要做的是迭代产品.使用itertools.product.
import itertools
ranges = [range(x1, x2), range(x3, x4), ...]
for xs in itertools.product(*ranges):
f(*xs)
Run Code Online (Sandbox Code Playgroud)
import itertools
ranges = [range(0, 2), range(1, 3), range(2, 4)]
for xs in itertools.product(*ranges):
print(*xs)
Run Code Online (Sandbox Code Playgroud)
0 1 2
0 1 3
0 2 2
0 2 3
1 1 2
1 1 3
1 2 2
1 2 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
459 次 |
| 最近记录: |