循环遍历数千个参数时存储数组

时间:2015-09-09 17:35:15

标签: python arrays loops large-data

我需要遍历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]

但是认为这可能是缓慢和过时的。有一个更好的方法吗。

1 个答案:

答案 0 :(得分:2)

import itertools.product

all_results = {}
for p in itertools.product(a,b,c,d,e,f):
   all_results[p] = function1(*p)