我有如下代码:
for p in range(15):
for q in range(5):
for d in range(3):
for sp in range(3):
for sd in range(2):
for sq in range(2):
...
它将使用这六个数字来构建两组元组(foo = my_func(x=(p,d,q), y=(sp,sd,sq))
),这些元组将被传递给一个函数,以便每次测试其余部分并为给定的六个参数集找到最佳结果。我上面的内容可以正常工作,但是也许有更紧凑的方法可以做到这一点,也许可以使用外部库?
答案 0 :(得分:3)
使用itertools.product
:
from itertools import product
ranges = [range(15), range(5), range(3), range(3), range(2), range(2)]
for p, q, d, sp, sd, sq in product(*ranges):
...