我需要遍历6个大小为5的数组(5 ^ 6种组合)的每个组合。在每个循环之后,我需要存储一个函数输出以及每个数字的内容。例如:
def function1(a, b, c, d, e, f):
return output
for A,B,C,D,E,F in [(A,B,C,D,E,F) for A in a for B in b for C in c for
D in d for E in e for F in f]:
function1(A,B,C,D,E,F)
在每个迭代的上面的例子中,我需要存储" function1"的输出。以及进入function1 a-j的所有参数。组织这个的最pythonic方法是什么?我打算这样做:
all_results = np.zeros(5^6,7)
for ....
answer = function1(a,b,c,d,e,f)
all_results[i,:] = [answer, a,b,c,d,e,f]
但是认为这可能是缓慢和过时的。有一个更好的方法吗。
答案 0 :(得分:2)
import itertools.product
all_results = {}
for p in itertools.product(a,b,c,d,e,f):
all_results[p] = function1(*p)