【发布时间】:2015-12-05 19:13:03
【问题描述】:
我需要遍历 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]
但认为它可能是缓慢而古老的。有一个更好的方法吗。
【问题讨论】:
-
您确定需要存储它吗?如果您不需要随机访问(或以后访问),生成器非常擅长并节省空间
-
@polpak 下一步是尝试梳理所有参数之间的统计关系。所以我确实需要访问它们以供以后使用。
标签: python arrays loops large-data